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

Java 在多台服务器之间复制缓存数据,java,caching,jakarta-ee,jboss,memcached,Java,Caching,Jakarta Ee,Jboss,Memcached,我正在开发一个应用程序,到目前为止,它在JBoss上运行,就像在一台服务器上运行一样。现在有一个故障转移的需求,我们正在为它添加另一个服务器并创建一个JBoss集群。问题是: 到目前为止,应用程序使用Hashmap来存储我们从数据库中获取的大约200万条记录。 现在我必须将此数据复制到第二个节点(将来可能会添加更多节点)。 我们现在需要存储的数据更有可能是大约500万条记录 我只是想对存储这个键/值类型数据并在所有服务器节点上复制它的最佳方法有一个看法 我一直在想,Redis或memcached

我正在开发一个应用程序,到目前为止,它在JBoss上运行,就像在一台服务器上运行一样。现在有一个故障转移的需求,我们正在为它添加另一个服务器并创建一个JBoss集群。问题是:

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

我只是想对存储这个键/值类型数据并在所有服务器节点上复制它的最佳方法有一个看法

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

以下是我最担心的事情:

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

  • 非常感谢您对此有任何想法。

    因为您在Java环境中工作,我建议您看看hazelcast(http://www.hazelcast.com/). 我们正在使用它来同步几个门户服务器,它工作得非常好

    复制一致性!啊!拿起一些中间产品:)嗨,csupnig。您是否将hazelcast与其他替代缓存(如JBoss缓存)进行了比较?您使用hazelcast的显著优势是什么?我们以前使用过JCSCache,并决定切换到hazelcast,因为它还支持向其他服务器实例发送消息,从而进一步提高了同步功能。。。