2009-07-29 94 views
5

我想使用Ehcache复制缓存,首先作为Hibernate二级缓存的后端,其次作为任何数据的缓存。我知道像memcached这样的分布式缓存如何工作,我知道它可以扩展到大型集群,但我无法找到Ehcache复制在大型集群上的行为。Ehcache在大集群上的性能

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

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

  • 他们如何比较大型集群?

当我添加许多节点(如几十个)时,复制是否会导致我的性能下降?

回答

3

很好的解决集群结垢问题是“好友复制的概念“,其中数据只被复制到每个点头e的邻居(不管你是怎么定义的),而是所有的节点。您可以在没有扩展问题的情况下获得故障转移

据我所知,ehcache不这样做。然而,JBossCache的确如此,而且它也和ehcache一样和Hibernate集成在一起。

4

完全复制的缓存将只适用于您的应用程序是大多数读取。复制缓存无法缩放;将更新传递给其他节点会导致性能下降。您需要使用备份副本进行分区缓存。即使对于写密集型应用程序,分区缓存也会线性缩放。

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

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