【问题标题】:Guice Singleton in AppEngineAppEngine 中的 Guice Singleton
【发布时间】:2013-03-13 15:41:45
【问题描述】:

在 Google App 引擎上下文中使用时,Google GUICE 单例对象真的是单例的吗?如果不是,我如何确保真正的单例行为?

【问题讨论】:

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

标签: google-app-engine guice


【解决方案1】:

Guice 单例是仅在创建它的 Guice 注入器下的单例。它不是 JVM 中的单例或任何其他方式。如果您需要并发进程对某些数据有一个一致的视图,您应该使用数据库或其他一些同步方式。

【讨论】:

    猜你喜欢
    • 2013-07-09
    • 1970-01-01
    • 2016-05-29
    • 2015-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    相关资源
    最近更新 更多