java - 选择什么服务器平台来定期运行独立 (Java) 程序?

标签 java

我需要开发一个定期运行的游戏服务器(例如,由 CRON 作业根据需要每五分钟或一小时触发一次)。一旦启动,服务器将访问所有当前游戏状态(通过 REST 从游戏的数据服务器(Stackmob、Parse 或类似工具)获取),处理玩家操作,然后将结果 POST 回数据服务器。在换句话说,它会做很多 HTTP 请求,但它本身不一定需要是 Web 服务。

我一直在考虑多种开发方法。

  • 我不想自己设置服务器,所以我需要找到一个服务来运行它,允许我想要的工作流程。
  • 游戏引擎是 Java,因此可以与之完美配合。
  • 需要 GET 和 POST 数据文件,因此需要访问静态文件。

大多数提供与我所需要的类似的东西的现有服务都是针对网络服务的——这通常意味着需要跳过一些障碍才能让事情正常工作。

  • 例如,Google App Engine 会要求我使用后端来实现它(因为游戏服务器可能会运行超过 60 秒),并且对静态文件的想法不是特别满意。
  • Amazon EC2 似乎更容易开发(当然,同样是通过构建 Web 服务前端),但似乎对 CRON 的支持相对较差。

总的来说,感觉就是想用弹弓打麻雀,但是所有的服务都给我发大炮。除了上面提到的两大平台/框架之外,是否还有适合此类情况的替代平台/框架?

最佳答案

你可以试试 Heroku .他们支持Java。如果您创建了一个使用 single worker dyno 的项目那么托管将是免费的(见链接)。

该进程将连续运行,因此您可能需要使用 Timer用于定期执行。您也可以使用 Quartz,但这可能有点矫枉过正。

编辑:

以下是一些可能有助于入门的链接:

关于java - 选择什么服务器平台来定期运行独立 (Java) 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9018681/

相关文章:

java - 监视 Java 应用程序上的锁争用

java - 为什么枚举常量类体可以定义任意实例字段和方法,但不能声明静态成员或定义构造函数

java - 将 Jersey/Jackson 配置为不使用 @XmlElement 字段注释进行 JSON 字段命名

java - 什么 RoundingMode 常量像 Math.round 一样 100% 工作?

java - Java中使用selenium登录facebook

java - 同步两部手机的系统时间

java - 在这个例子中,有没有一种方法可以更优雅地操作 Date 对象?

java - 我可以访问在 localhost :8080 from WAN. 上运行的应用程序吗?

java - 为什么这个正则表达式只匹配一次?

java - GUI 更新之前线程 hibernate (Java 6)