【发布时间】:2013-03-13 15:41:45
【问题描述】:
在 Google App 引擎上下文中使用时,Google GUICE 单例对象真的是单例的吗?如果不是,我如何确保真正的单例行为?
【问题讨论】:
-
定义您对“真正的单例行为”的解释:每个请求、每个 Guice 注入器、每个类加载器、每个 JVM、每个 AppEngine 应用程序一个实例,...?另外,你想用这个单例实现的实际目标是什么?
-
每个应用引擎应用程序一个单例。我想为每个请求增加一个值。并将其保存在数据库中。
-
您能否详细说明每个请求如何增加值,例如你想计算所有前端实例的请求数吗?无论如何,该解决方案可能会涉及读取性能memcached,持久性数据存储和写入性能可能涉及sharded counting(如果需要几个增量/秒)。
-
是的,它需要统计所有前端实例中的请求数,我正在使用 memcache 来减少发送到 Datastore 的读取请求数。大约 70% 的应用程序请求使用此值。分片计数对我来说是一个新概念。我也会检查一下。