【发布时间】:2014-02-07 09:36:55
【问题描述】:
我在谷歌应用引擎、Python SDK 上为简单的实时多人游戏制作服务器。 请求非常简单,处理时间最长为 1ms。 我将所有游戏数据保存在实例的静态变量中。 我将“最小等待延迟”设置为 15 秒。为了防止产生第二个实例。 但有些时候第二个实例创造了任何方式。
如果第二个实例已经生成,我如何禁用或杀死它,并且仅在单个实例中处理所有请求?
【问题讨论】:
我在谷歌应用引擎、Python SDK 上为简单的实时多人游戏制作服务器。 请求非常简单,处理时间最长为 1ms。 我将所有游戏数据保存在实例的静态变量中。 我将“最小等待延迟”设置为 15 秒。为了防止产生第二个实例。 但有些时候第二个实例创造了任何方式。
如果第二个实例已经生成,我如何禁用或杀死它,并且仅在单个实例中处理所有请求?
【问题讨论】:
如果你在与系统作斗争,这表明你做错了什么。
您不应尝试在单个实例中管理所有请求。这违背了使用 GAE 的全部目的。当然,问题是您不应该将数据作为静态变量存储在实例中。即使除了启动其他实例的问题之外,每个实例都会经常停止并重新启动:因此您的数据将会丢失。
您应该将数据保存在相应的位置:内存缓存和数据存储中。
【讨论】:
除了只有 8 个实例小时是免费的, 您可以使用模块 + 手动缩放来做到这一点
https://developers.google.com/appengine/docs/java/modules/ https://developers.google.com/appengine/docs/python/modules/
【讨论】: