在多个服务器之间复制缓存数据

时间:2012-04-06 23:03:12

标签: java caching java-ee jboss memcached

我正在开发一个应用程序,直到现在,它在一台服务器上运行在JBoss AS上。现在需要进行故障转移,我们正在添加另一台服务器并创建一个JBoss集群。这是问题所在:

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

我只是希望了解存储此键/值类型数据的最佳方法是什么,并将其复制到所有服务器节点上。

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

以下是我最担心的事情:

  1. 对性能的影响 - 复制可能导致网络延迟数据
  2. 质量 - 希望避免使用陈旧数据对内存的影响 -
  3. 一旦数据加载到HashMap / Cache中,它就不会过期。可能会有一些记录的添加或删除,并且必须在所有节点上复制这些更改。
  4. 可扩展性 - 正如我所提到的......可以添加更多节点
  5. 对此的任何想法都非常感谢。

1 个答案:

答案 0 :(得分:1)

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