Java最佳缓存框架

21

我需要在一个拥有9台服务器的Web应用程序集群中实现Java缓存解决方案。我看到了Apache JCS,但它似乎已经过时了,你知道其他的开源解决方案吗?


为什么不能在集群前面直接放置一个Vanish实例呢? - Thorbjørn Ravn Andersen
4个回答

24

7
我认为,为了使用分布式EhCache,您需要一份商业Terracotta许可证。
另一个选择是memCached(请参考:http://memcached.org),它不需要商业许可证,并且被像YouTube、LiveJournal、Flikr、Wikipedia等高流量网站广泛使用……
关于memcached的好文章:
- 《为Java企业性能使用Memcached,第1部分:架构和设置》 http://www.javaworld.com/javaworld/jw-04-2012/120418-memcached-for-java-enterprise-performance.html - 《为Java企业性能使用Memcached,第2部分:基于数据库的Web应用程序》 http://www.javaworld.com/javaworld/jw-05-2012/120515-memcached-for-java-enterprise-performance-2.html

3
  1. 更正一下,使用Terracotta的Ehcache做分布式缓存不需要商业许可证。Ehcache允许你在一个集群中只用几个节点,其中一个可以是TSA(如果我没记错的话)。

  2. Memcache纯粹是一个缓存层,不具备磁盘持久化功能,而Terracotta的Ehcache具备这种功能。

当涉及到Java时,Terracotta的Ehcache位于Java堆之外,这使得你可以根据服务器内存大小拥有任意大的缓存。他们正在开发单个JVM,该JVM具有4TB的堆大小,完全没有垃圾收集。Memcache没有这种堆外特性。

缺点是,如果你的应用程序不是Java,Terracotta将需要很多工作——Terracotta主要基于Java。

我上周在JavaOne上见到了这些人,所以我从他们那里得到了很多有用的信息。


您需要商业许可证:http://ehcache.org/documentation/get-started/about-distributed-cache 提供购买 http://terracotta.org/products/bigmemorymax - Shpytyack Artem

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接