原文 http://www.infoq.com/cn/news/2009/09/terracotta-buys-ehcache
随着Terracotta
对Ehcache
的
收购成行,业界两大知名的开源Java缓存产品走到了一起。以提供JVM级“POJO集群”而闻名于世的Terracotta可以将运行在单个JVM上的
多线程应用移植到多个JVM上而无需修改任何代码;而Ehcache的使用也是相当广泛的,无数的产品和项目中都可以见到其身影;它提供了类似于
Oracle
Coherence的标准的HashMap风格的接口。这两者的强强组合将会出现在绝大多数的Java缓存产品中,鉴于此,InfoQ采访了
Terractta CEO Amit Pandey以及Ehcache创建者Greg Luck一探究竟。
对于Ehcache用户来说,加入Terracotta将获得如下好处:
- 可以继续使用当前的Apache 2协议。
- 使用由Terracotta所管理的全新托管环境:高质量的论坛、源码控制、maven基础设施等等,而位于sourceforge上的那些内容则保持不变。
- 一个致力于不断提升Ehcache性能和特性的全职卓越团队。
- 为基于Ehcache的应用添加集群以及分布式数据的升级指南。
- 针对Ehcache安装和配置的企业级支持与培训。
而对于Terracotta用户来说:
- Ehcache接口将替换掉Terracotta的分布式缓存从而成为单独的缓存接口,它也将成为Terracotta分布式缓存的标准。
- 单节点版本的Terracotta,可以像其服务器版那样运行在桌面w/o上。
- 可以轻松运行在最新版的Ehcache上。
- 针对其缓存接口/程序库以及可伸缩性/可靠性/运行时的一个供应商支持结构。
Amit Pandey说到:
首先要保证无缝的用户体验,其次要确保Ehcache与Terracotta的集成比当前更加紧密,比方说在提供单独的
Ehcache下载的同时再加上个一致的Terracotta后端。由于我们已经进行了合作,因此你现在就能体会到这一点,但对于开发者来说情况就有些糟
糕了。经过我们的努力,集成之后的性能比每个产品都要棒,因为我们熟悉所有的代码。
Amit说到:对于Terracotta来讲,“此次收购无疑会对Coherence造成巨大冲击”。收购Ehcache会让Terracotta
更加轻松地触及现有的使用了Ehcache的众多项目和产品,Terracotta认为“这个数量极其庞大,包括了世界上大多数1000强公司”,同时开
发者也可以多种方式来构建分布式的基于缓存的应用。虽然Terracotta以提供透明的POJO集群而闻名,但Amit说到:“透明是我们最大的优势,
然而有些人却批评说人们还必须要进行计算才行”。Greg Luck补充说到:
Ehcache采取了一种非常简单的手段来处理缓存。我觉得Terracotta虽然简单,但要想使用终归还是需要一定的工作
量。有不少人喜欢Terracotta的POJO方式,然而大多数人还是不想尝试新东西。Terracotta的很多思想都很前卫,但要知道,对于整个
J2EE世界来说,简单的API模型才是最重要的。
相对于Coherence来说,Terracotta与Ehcache的联合具有如下优势:
-
使用率
。如果你已经将应用构建在了Ehcache上,那么现在就可以轻松升级成分布式的了。
-
多种手段来使用缓存
。既可以使用传统的Terracotta POJO缓存,也可以使用基于API的方式。
-
开源
。Greg
Luck说到"Coherence是闭源的”。对于开发者来说,如果想使用Coherence就必须请示高层(比如说CTO);而Ehcache和
Terracotta开发则可以从基层做起。这样对于那些想使用Coherence的开发者来说就可以先从Ehcache开始(一个结点),然后轻松移植
到分布式的Terracotta上。
Greg Luck认为合并是保持竞争力的一个强有力的手段,尽管他在过去几年中已经拒绝了3家公司抛出的橄榄枝:
正如上周大家看到的对SpringSource的报道,这无疑不是合并带来的力量,当然Oracle对Sun的收购也给予了我们
很多启示。缓存与分布式缓存非常重要,开源项目能否成功走出来是有很大风险的。现在又涌现出了很多新的竞争者,比如Apache
Dynamite以及Memcached等等——他们要么逐渐变强,要么陨落下去。
对于memcached,Greg Luck谈到了其与Terrracotta的集成最终改进了Ehcache
server——memcachd的一个Java对手,提供了RESTful
API,能部署在负载均衡器之后以跨越多个集群进行扩展:“现在,每个结点都具有所有数据的完全拷贝。这意味着你被限定在了GC的处理能力上。我们的客户
能够运行到20GB,但如果想要运行一个1000GB大小的缓存又会怎样呢?”如果是这样,那么Ehcache就帮不了你了。基于以上几点,我们能清晰地
看到Terracotta未来的发展方向。
Ehcache项目的协议仍然是Apache 2,还可以通过sourceforge,Maven等来访问。此次收购意味着Greg
Luck将加入到Terracotta中,而Ehcache代码的版权将纳入到Terracotta
Inc.了,就像几年前JBoss收购Hibernate那样。Greg Luck还对此次收购发表了一份个人声明
。
分享到:
相关推荐
当与Terracotta结合使用时,Ehcache可以实现分布式缓存,使得多台服务器上的应用可以共享同一份缓存数据,从而构建高可用的集群环境。在本篇中,我们将深入探讨如何在Java项目中配置Ehcache与Terracotta来实现这一...
Demo of ehCache distributed caching with terracotta in glassFish v3 可以参考:http://blog.csdn.net/guobin0719/archive/2011/04/25/6361940.aspx
在版本2.6.5中,Ehcache提供了一套完整的缓存解决方案,包括本地缓存、分布式缓存和 Terracotta 集群支持。 Ehcache 2.6.5的关键特性包括: 1. **内存管理**:Ehcache 使用LRU(Least Recently Used)策略来管理...
这通常包括ehcache-core或ehcache-spring-annotations库,如果需要分布式缓存功能,还需引入terracotta-ehcache-server或相关的分布式缓存服务。 配置Ehcache,我们可以在Spring的配置文件中定义一个`CacheManager`...
3. **ehcache-terracotta-2.5.2.jar**:这是Ehcache与Terracotta集成的模块,使得Ehcache能够利用Terracotta的集群能力。它实现了将本地Ehcache实例与其他服务器上的Ehcache实例进行通信和同步,以创建一个分布式的...
ehcache-terracotta-2.4.5.jar,ehcache缓存所使用的JAR
jar包,官方版本,自测可用
ehcache3集群相关资源,包括ehcache-clustered-3.10.0-kit、ehcache-3.10.0.jar、ehcache-clustered-3.10.0.jar、terracotta-3.7.7.tar.gz、ehcache-transactions-3.10.0.jar
<cacheManagerPeerListenerFactory class="org.terracotta.ehcachedx.monitor.probe.ProbePeerListenerFactory" properties="monitorAddress=localhost, monitorPor t=9889" /> 3.在\ehcache-monitor-kit-1.0.0\etc...
jar包,官方版本,自测可用
通过这些示例,我们可以学习如何设置Ehcache的分布式特性,例如使用Terracotta服务器进行集群缓存,以及如何处理分布式环境下的缓存一致性问题。 总结来说,Ehcache的监控涉及了多个方面,包括但不限于使用JMX、Web...
4. ** Terracotta Server**:Ehcache支持分布式缓存,通过Terracotta平台实现跨JVM的数据共享和同步。 **三、配置与使用** 1. **XML配置**:Ehcache的配置文件通常为ehcache.xml,定义了Cache Manager、Cache以及...
Ehcache 支持分布式缓存,通过 Terracotta 服务器实现跨节点的数据共享。这样,多台服务器上的应用可以共享同一份缓存,提高系统的可扩展性和性能。 ## 6. Ehcache 的升级与优化 随着技术的发展,Ehcache 也经历了...
Ehcache可能与其他库有依赖关系,比如为了实现分布式缓存,可能需要`terracotta-apis`和`terracotta-platform`等相关JARs。这些库提供了集群和分布式缓存的支持,使得Ehcache能够在多台服务器之间共享数据,提高可...
2. ** Terracotta服务器**:Ehcache集群依赖于Terracotta服务器进行通信和数据同步。你需要在集群中的所有节点上安装并启动Terracotta,然后配置Ehcache连接到同一服务器集群。 3. **数据分片**:Ehcache集群通过...
1. **安装Terracotta Server**: 在每台服务器上安装并启动Terracotta Server,它是Ehcache的分布式管理组件。 2. **配置hostName**: 修改`ehcache.xml`,将`<terracottaConfig>`元素中的`hostName`替换为服务器的...
2009年,该项目被Terracotta购买。软件仍然是开源,但一些新的主要功能(例如,快速可重启性之间的一致性的)只能在商业产品中使用,例如Enterprise EHCache and BigMemory。,维基媒体Foundationannounced目前使用的就是...
通过RMI(远程方法调用)或者Terracotta服务器,Ehcache能够在分布式环境中保持数据的一致性。这对于构建可扩展的Web应用程序和服务至关重要,尤其是在大型企业级应用中。 此外,Ehcache提供了一个简单的API,使得...