Ehcache在大型集群上的性能

时间:2009-07-29 14:39:44

标签: java replication ehcache distributed-computing

我想使用Ehcache复制缓存,首先作为Hibernate二级缓存的后端,然后再作为任何数据的缓存。

我知道像memcached这样的分布式缓存是如何工作的,我知道它可以扩展到大型集群,但我无法找到Ehcache复制在大型集群上的表现。

  • 有人指向某些信息或某种基准吗?

我发现可以使用许多复制策略,如RMI,JGroups,JMS或Terracotta,而RMI和Terracotta似乎最受欢迎。

  • 他们如何在大型集群上进行比较?

当我添加许多节点(如几十个节点)时,复制是否会破坏我的表现?

3 个答案:

答案 0 :(得分:4)

完全复制的缓存仅在您的应用程序主要是读取时才有效。复制缓存无法扩展;将更新传递给其他节点将导致您的性能下降。您需要具有备份副本的分区缓存。即使对于写密集型应用程序,分区缓存也会线性扩展。

试试Hazelcast!它是Java的开源(Apache许可证)事务性,分区缓存解决方案。它带有hibernate二级缓存插件。

几十几个?没问题。 Hazelcast 100节点集群演示可以是found here

答案 1 :(得分:3)

群集扩展问题的一个很好的解决方案是“伙伴复制”的概念,其中数据仅复制到每个节点的邻居(无论您如何定义),而不是所有节点。如果没有扩展问题,您将获得故障转移。

据我所知,ehcache没有这样做。但是,JBossCache确实如此,并且与ehcache一样,也与Hibernate集成。

答案 2 :(得分:1)