我创建了一个在线游戏,使用java-appengine作为后端。 //我的游戏使用websocket,使用渠道API 但是我的一些对象需要在应用程序上保持持久性。
我在appengine java上寻找解决方案保存游戏对象
答案 0 :(得分:1)
你可以在后端运行,但它实际上也不能扩展。
您可能需要做的是确定App Engine是否实际上是您要用于构建游戏的平台。如果数据存储区的性能不适合您,那么您可能需要另一种架构。您最有可能想要更传统的客户端/服务器架构。
此外,如果没有关于游戏架构的更多信息,很难回答你的问题。
答案 1 :(得分:0)
Memcached是要走的路,你无法控制它,但如果你想使用app引擎就会有妥协。我在python上使用Memcache的经验主要是在实例运行缓存时有效。即使在密切的实例之间,它似乎也不会过期。当我检查我的日志时,我通常只看到Memcache在实例之间存在大量时间(小时+)时创建过期对象。
您应该在Java和Python上分析您的代码,可能是因为Python更快的启动时间将更适合您的应用程序。或者,如果您必须使用java,您可能希望保留几个空闲实例,以便能够在没有启动延迟的情况下处理请求。您可能可以使用Cron任务来保持memcache的新鲜感,但我还没有尝试过,因为我的代码通常不那么敏感。