我正在开发一个应用程序,到目前为止,该应用程序在单个服务器上的 JBoss AS 上运行。现在需要进行故障转移,为此我们要添加另一台服务器并创建 JBoss 集群。这是问题所在:
到目前为止,该应用程序使用 Hashmap 来存储我们从数据库中获取的大约 200 万条记录。现在我必须将此数据复制到第二个节点(将来可能会添加更多节点)。我们需要存储的数据现在更有可能是 500 万条记录。
我只想对存储此键/值类型数据并将其复制到所有服务器节点的最佳方法发表意见。
我一直在考虑 Redis 或 memcached 是否是合适的解决方案?JBoss Cache 怎么样,我知道它是分布式缓存,可以复制到集群中的所有节点。
以下是我最担心的事情:
- 对性能的影响 - 复制可能会导致网络延迟数据
- 质量 - 希望避免处理过时的数据对内存的影响 -
- 一旦数据加载到 HashMap/Cache 中,它就不会过期。可能会有一些记录的添加或删除,这些更改必须在所有节点上复制。
- 可扩展性 - 正如我提到的......可以添加更多节点
对此的任何想法都将受到高度赞赏。