Мне нужно разработать игровой сервер, который будет запускаться периодически (например, срабатывает CRON-работа каждые пять минут или час, если необходимо). После запуска сервер будет получать доступ ко всему текущему состоянию игры (выбирается через REST с серверов данных игры (Stackmob, Parse или аналогичный), выполняет обработку действий игрока и затем возвращает результаты на сервер данных. другими словами, он будет делать много HTTP запросов, но не само по себе обязательно должен быть веб-сервис.Какую серверную платформу выбрать для периодической работы автономной (Java) программы?
Я рассматривал несколько путей развития этого.
- Я не чувствую для настройки сервера самостоятельно, поэтому мне нужно найти службу для запуска этого на этом, чтобы разрешить рабочий процесс, который я бы хотел.
- Игровой движок Java, поэтому что-то, что работает аккуратно с этим.
- Нужны файлы данных GET и POST, поэтому необходим доступ к статическим файлам.
Большинство предоставляемых услуг, которые предоставляют что-то похожее на то, что мне требуется, направлены на веб-службы, что обычно означает, что нужно перепрыгнуть через некоторые обручи, чтобы заставить вещи работать.
-
Google App Engine, например, потребовал бы, чтобы я реализовал это с использованием бэкэндов (поскольку игровой сервер мог работать более 60 секунд), и он не очень доволен идеей статических файлов.
- Amazon EC2, по-видимому, легче разрабатывать (опять же, создавая интерфейс веб-службы, конечно), но, похоже, относительно низкая поддержка CRON.
Вообще говоря, мне кажется, что я хочу застрелить некоторых воробьев с рогаткой, но все службы предлагают мне пушки. Существуют ли какие-либо альтернативные платформы/рамки за пределами упомянутых выше двух больших, которые были бы подходящими для чего-то подобного?
Ваши требования не ясны. По соображениям производительности ваш сервер должен быть очень близок к вашему игровому серверу (тот же компьютер или же локальная сеть). Поэтому непонятно, почему вы говорите о облачных сервисах и что не так с unix cron? –
Unix cron в порядке, за исключением того, что вам нужен сервер UNIX для его запуска. Мне не очень интересно работать и поддерживать собственный сервер для чего-то подобного. –
По производительности сервер бэкэнд работает асинхронно с данными игры, поэтому быть очень близким не является требованием. Практически игровой сервер обеспечивает доступ к мобильным устройствам, поэтому использование чего-то типа Stackmob и др. Для этого - гораздо более легкое решение, чем переключение одного из моих собственных. –