Terracotta 收购 Ehcache

  • Floyd Marinescu
  • 张龙

2009 年 9 月 1 日

话题:Java语言 & 开发架构

随着TerracottaEhcache的收购成行,业界两大知名的开源 Java 缓存产品走到了一起。以提供 JVM 级“POJO 集群”而闻名于世的 Terracotta 可以将运行在单个 JVM 上的多线程应用移植到多个 JVM 上而无需修改任何代码;而 Ehcache 的使用也是相当广泛的,无数的产品和项目中都可以见到其身影;它提供了类似于 Oracle Coherence 的标准的 HashMap 风格的接口。这两者的强强组合将会出现在绝大多数的 Java 缓存产品中,鉴于此,InfoQ 采访了 Terractta CEO Amit Pandey 以及 Ehcache 创建者 Greg Luck 一探究竟。

对于 Ehcache 用户来说,加入 Terracotta 将获得如下好处:

  1. 可以继续使用当前的 Apache 2 协议。
  2. 使用由 Terracotta 所管理的全新托管环境:高质量的论坛、源码控制、maven 基础设施等等,而位于 sourceforge 上的那些内容则保持不变。
  3. 一个致力于不断提升 Ehcache 性能和特性的全职卓越团队。
  4. 为基于 Ehcache 的应用添加集群以及分布式数据的升级指南。
  5. 针对 Ehcache 安装和配置的企业级支持与培训。

而对于 Terracotta 用户来说:

  1. Ehcache 接口将替换掉 Terracotta 的分布式缓存从而成为单独的缓存接口,它也将成为 Terracotta 分布式缓存的标准。
  2. 单节点版本的 Terracotta,可以像其服务器版那样运行在桌面 w/o 上。
  3. 可以轻松运行在最新版的 Ehcache 上。
  4. 针对其缓存接口 / 程序库以及可伸缩性 / 可靠性 / 运行时的一个供应商支持结构。

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 的联合具有如下优势:

  1. 使用率。如果你已经将应用构建在了 Ehcache 上,那么现在就可以轻松升级成分布式的了。
  2. 多种手段来使用缓存。既可以使用传统的 Terracotta POJO 缓存,也可以使用基于 API 的方式。
  3. 开源。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 还对此次收购发表了一份个人声明

查看英文原文:Ehcache Joins Terracotta

Java语言 & 开发架构