正如您在标题中所看到的那样,问题很明确,希望听听您对它们之间优缺点差异的看法。
更新: 我决定使用Hazelcast,因为它具有分布式缓存/锁定机制以及极其简单的配置,可将其适应于您的应用程序,这些都是它的优点。
我们为最大的在线分类广告和电子商务平台尝试了两种技术。我们首先选择了ehcache/terracotta(服务器数组),因为它很著名,由Terracotta支持,并且拥有比hazelcast更大的社区支持。
但当我们将其应用于生产环境(分布式、超出一个节点集群)时,情况发生了变化,我们的后端架构变得非常昂贵,因此我们决定给hazelcast一个机会。
Hazelcast非常简单易用,不需要任何配置就可以实现良好的性能表现。
我们的缓存层已经使用hazelcast一年多了,我们对它非常满意。
专用客户端到网格组件的选择有:
如果任何主机都可以从此数据网格请求记录,那将是一个很好的设计,但您只能使用这两种平庸的选项来获取任何信息。
此外,数据库线程池在个别成员上锁定并且不写入任何内容到数据库时出现多个问题,导致永久记录丢失是一个经常性的问题,我们通常需要关闭整个系统数小时以刷新任何JVM。虽然在1.9.6中发生分裂大脑的情况似乎已经有所减少。
我们正在努力转移到Ehcache并改进数据库层,而不是将其用作应急措施。