寻找解决方案保存关于appengine java的游戏数据

时间:2012-06-04 04:19:03

标签: google-app-engine

我创建了一个在线游戏,使用java-appengine作为后端。 //我的游戏使用websocket,使用渠道API 但是我的一些对象需要在应用程序上保持持久性。

  • 静态对象很好,但在appengine中它很糟糕,因为实例启动停止是无法管理的
  • - Memcache是​​一样的,无法控制它何时exp(有办法使它永远不会exp?)
  • - 数据存储空间昂贵且价格昂贵

我在appengine java上寻找解决方案保存游戏对象

2 个答案:

答案 0 :(得分:1)

你可以在后端运行,但它实际上也不能扩展。

您可能需要做的是确定App Engine是否实际上是您要用于构建游戏的平台。如果数据存储区的性能不适合您,那么您可能需要另一种架构。您最有可能想要更传统的客户端/服务器架构。

此外,如果没有关于游戏架构的更多信息,很难回答你的问题。

答案 1 :(得分:0)

Memcached是要走的路,你无法控制它,但如果你想使用app引擎就会有妥协。我在python上使用Memcache的经验主要是在实例运行缓存时有效。即使在密切的实例之间,它似乎也不会过期。当我检查我的日志时,我通常只看到Memcache在实例之间存在大量时间(小时+)时创建过期对象。

您应该在Java和Python上分析您的代码,可能是因为Python更快的启动时间将更适合您的应用程序。或者,如果您必须使用java,您可能希望保留几个空闲实例,以便能够在没有启动延迟的情况下处理请求。您可能可以使用Cron任务来保持memcache的新鲜感,但我还没有尝试过,因为我的代码通常不那么敏感。