【问题标题】:replicating cached data between multiple servers在多个服务器之间复制缓存数据
【发布时间】:2012-04-07 08:58:27
【问题描述】:

我正在开发一个应用程序,到目前为止,该应用程序在单个服务器上的 JBoss AS 上运行。现在需要进行故障转移,为此我们要添加另一台服务器并创建 JBoss 集群。问题来了:

到目前为止,该应用程序使用 Hashmap 来存储我们从数据库中获取的大约 200 万条记录。 现在我必须将此数据复制到第二个节点(将来可能会添加更多节点)。 我们需要存储的数据现在更有可能是 500 万条记录。

我只想对存储此键/值类型数据并将其复制到所有服务器节点的最佳方法提出意见。

我一直在考虑 Redis 或 memcached 是否是合适的解决方案? JBoss Cache 怎么样,我知道它是分布式缓存,会复制到集群中的所有节点。

以下是我最担心的事情:

  1. 对性能的影响 - 复制可能导致数据网络延迟
  2. 质量 - 希望避免处理过时数据对内存的影响 -
  3. 一旦数据加载到 HashMap/Cache 中,它就不会过期。可能会有一些记录的添加或删除,这些更改必须在所有节点上复制。
  4. 可扩展性 - 正如我提到的......可以添加更多节点

对此的任何想法都非常感谢。

【问题讨论】:

  • 复制一致性!啊!拿起一些中间件:)

标签: java caching jakarta-ee jboss memcached


【解决方案1】:

由于您在 Java 环境中工作,我建议您查看 hazelcast (http://www.hazelcast.com/)。我们正在使用它来同步多个门户服务器,效果非常好!

【讨论】:

  • 嗨 csupnig。您是否将 hazelcast 与其他替代缓存(例如 JBoss Cache)进行了比较?您使用 hazelcast 的独特优势是什么?
  • 我们之前用过JCSCache,决定改用hazelcast,因为它也支持向其他服务器实例发送消息,进一步提高同步能力...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多