Cameron Purdy 谈 Coherence 3.3 和网格的未来

  • Scott Delap
  • 郭晓刚

2007 年 8 月 20 日

话题:JavaDevOps语言 & 开发架构

Oracle 发布了Coherence 3.3。Coherence 可在计算机网格中实现数据复制、分治和缓存。Oracle 今年收购 Tangosol 的时候同时获得了 Coherence 产品线。Oracle Coherence 3.3 现在分成三个版本——标准版、企业版和网格版。3.3 版增强了与 Oracle Fusion Middleware、Oracle Application Server 以及 Oracle Toplink 的集成。这一版本加强了:

  • 可用性——引入了确定性请求执行(Deterministic Request Execution)新特性;
  • 集群能力——增加了自调整的通信能力,包括高性能封包束(Packet Bundling)和动态流控制;
  • 性能——为最新的服务器硬件加强了对多核的支持
  • 平台支持——增加了对 Java SE 6 的支持,还包括了一个针对 Microsoft .NET 平台的新版本 Oracle Coherence。

不同版本及其价格如下:

标准版:针对需要数据缓存和共享集群数据的小规模应用。价格最低为 $4,000 每 CPU。

企业版:针对中等规模或大规模的应用,为业务生产线的需要提供分布式数据管理,包含持久化、事务以及与应用服务器基础设施的深度集成等功能。价格最低为 $10,000 每 CPU。

网格版:针对应用在整个企业范围内的共享数据服务平台,通常作为大型部署中的单独一层或者基础设施的核心部件,目标在于提供实时的分析、事务管理、事件的基础设施和成熟的数据缓存。价格最低为 $20,000 每 CPU。



InfoQ 找到了 Tangosol 的创始人 Cameron Purdy,他现在在 Oracle 担任开发副总裁,让他谈谈 Oracle 对 Tangosol 的收购,以及这次发布的产品。我们的第一个问题显而易见:“为什么 Oracle 会收购 Tangosol?”

当前面向服务架构(SOA)、Web 2.0 和事件驱动架构(EDA)正将后台设施的能力推向极限。为了转移后台处理系统的负担,需要把更多的实时事务处理能力放到中间件设施之中。随着 Oracle 中间件业务的快速发展,他们很早就认识到了这股趋势,以及 Tangosol 的技术的价值。Tangosol 在极限事务处理(eXtreme Transaction Processing,XTP)系统基础上的经验已经得到了证明。将 Oracle Fusion Middleware 和 Oracle Coherence 相结合正迅速地成为主流,它们能为我们提供“极限”的可伸缩性、可靠性和性能。Tangosol 在这方面的领先技术和高超的工程能力,在 Oracle 看来是非常值得获取的。

接着 InfoQ 询问了收购之后的适应情况:

我很高兴地告诉大家,在整个合并过程中我们得以保留完整的团队。从五月开始我们的注意力已经非常积极地投入到我们未来的产品计划之中,我们正积极探索如何利用 Oracle Coherence 让各个 Oracle 产品更加完善。Oracle Fusion Middleware 团队在融合被收购的公司上非常有经验,他们让被收购的团队得以迅速地适应环境并全速展开新的工作。这里有一些令人印象非常深刻的天才,整个氛围也是非常积极的。

我们曾经担心如何保持我们原有的小公司的节奏。我们希望确定来到 Oracle 之后能够立即投入工作,全面地开展工作……我认为我们已经做到了这一点……似乎并不太困难,因为我们的团队等于是增加了五千名销售人员。

当然,在像 Oracle 这么大的一个组织里面,我们肯定要面对一些挑战。从技术角度看,可伸缩性是一个难题。你必须从设计上就考虑到规模的问题,有一些妥协我们正在逐步适应。从另一方面来说,我们现在拥有的庞大的资源是从前没法想象的。

从管理的角度来看,我的目标是让产品团队保持专注,保持住我们的前进速度,同时尽可能高效地利用 Oracle 拥有的资源。

随后 Purdy 详细描述了 Oracle 在网格领域未来的策略:

Oracle Coherence 作为 Oracle Fusion Middleware 产品业务的一部分,正从增加的资源投入中获益。一个直接的证据是,仅仅在收购之后两个月,我们就发布了 Oracle Coherence 3.3。

除了.NET 版本的 Oracle Coherence,我们很快还会带给大家一些令人兴奋的东西。敬请期待。

虽然我很乐意详细谈论未来的策略,但我也很清楚泄露秘密会让我日子不好过。在这里我只能说我们的计划是让其它很多产品团队都采用 Oracle Coherence,以增加或加强网格的功能。而对于需要可靠的、无间断的、能支持线性规模增长的基础的产品来说,Oracle Coherence 是一个非常合适的选择。

基本上,如果不再需要为“网格”而特别费神,那么我们在“网格”上就成功了。今天我们用 Oracle Coherence Data Grid 构造的应用所能达到的服务质量,未来将会成为标准的基础设施的一部分,正如现在我们认为数据库连接和事务是理所当然的东西。无论下一代中间件设施会变成什么样子,我认为它一定会具备无间断运行的能力,并且在延伸到数百台服务器的同时仍然能够自动化地管理这样一个复杂的环境。

……Coherence 如何准备好和市场上的其它竞争者如 GigaSpaces 和 Terracotta 对抗:

GigaSpaces 和 Terracotta 的产品都是建立在上个世纪的客户端 / 服务器(C/S)技术的基础上,而要达成对无间断的可用性,扩展到数十、数百乃至数千台服务器这样的目标,旧的技术是撑不下去的。Oracle Coherence 引入了有机集群(Organic Clustering)的概念,这是一种在动态的服务器集合中维持集群一致性的功能,它将从此改变分布式计算。正如我们的客户所说,你可以轻易地以 Oracle Coherence 为基础构建任何其它功能和产品,但你无法以其它功能为基础构建出 Oracle Coherence。

从竞争性产品转移到 Oracle Coherence 的客户们的经验简直是雷同的:对于任何能力的评估,比如可靠性、可用性和可伸缩性,Oracle Coherence 都是无可匹敌的,而且 Oracle Coherence 的能力远不止同时满足这些要求。最近有一个案例,一家客户从竞争性产品转移到 Oracle Coherence 之后,他们的事务处理率提升了 200 倍以上,同时还获得了更高的可用性与可靠性。欢迎来到 21 世纪。



在大体讨论网格市场之后,讨论的重点转到了这次发布的 3.3 版。3.3 版的特性之一是确定性请求执行(Deterministic Request Execution),它包含一些任务调度和执行时间限制方面的内容。Purdy 被问到了这项改进背后的原因:

一开始我们的一家大型客户遇到一些问题,他们的基础设施的若干部分遇到锁定的问题,包括数据库。由于执行上的依赖,数据库中的锁定会影响到整个应用。他们希望隔离这些锁定,这样即使在最坏的情况下,也只会影响到单个用户,而不会对整个系统的健康有任何影响。“确定性请求执行”特性是他们的需求的产物,而我们将这项特性应用到了 Oracle Coherence 管理下的所有类型的处理过程。

Coherence 的最新版本还改进了集群协议。InfoQ 询问了协议和通信基础设施如何随着产品的成长而演进:

在最近的一系列发布中,我们推出了 TCMP 集群协议的第三版。TCMP 的各个主要版本都是被设计来应对不断扩大的环境——用数千台服务器组成一个维持完整一致性的集群化的有限状态机——并且不断达到更高的服务质量(QoS)水平。例如,这个版本增加了动态模块化的封包束,这个特性来自一家客户的请求,他们的网站每周要处理超过二十亿个动态的数据密集的页面,他们的硬件交换机无法承受在网站的访问高峰期间 Oracle Coherence 推向网络的传输流量。按照我们的路线图,TCMP 第 3 版至少会让我们在未来的两年内都非常忙碌,而考虑到我们的客户数量,等待进入 TCMP 第 4 版的特性请求队列将会非常长。

最后 Purdy 被问到目前单台机器内安装的处理器数目越来越多的趋势,对 Oracle 到底是好事还是坏事:

这个问题很有趣。我们有一位工程师全职负责与 Intel 和 Azul 等公司一起分析与优化并发执行的问题,我想更多的处理器让他的工作变得更困难,但他喜欢挑战,而且最终的结果是在 Oracle Coherence 上面运行的千千万万的应用都会自动从现代的多核处理器中得益。Oracle Coherence 本身是为多线程 SMP 系统设计的,而多核仅仅是这种硬件的自然演进,所以我们不必为多核重新设计架构。另一方面,Java 中对“并发”的支持——最初由 Doug Lea 引进——为优化高并发多线程系统提供了一整套卓越的功能,而且我们已经替换和优化了关键的数据结构,以更好地利用多核与多处理器。例如在 3.3 版中,大多数队列是完全没有锁的,这让我们获得了一些大幅度的性能改进。
查看英文原文:Oracle's Cameron Purdy on Coherence 3.3 and the Future of the Grid
JavaDevOps语言 & 开发架构