InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

Terracotta近况:转向开源,接受度,Hibernate支持

作者 Floyd Marinescu 译者 郭晓刚 发布于 2007年10月26日

领域
架构 & 设计,
语言 & 开发
主题
Java ,
集群与缓存
标签
Terracotta

Terracotta提供一种JVM集群方案,可让单节点、多线程的应用变成分布式、多节点的应用,而无需修改一行代码。InfoQ之前报道过,得到VC支持的Terracotta在2006年底转向开源,从那以来已经有了很大的进展。最近的新进展包括2.4版支持Websphere和Hibernate,以及Terracotta获得了大量用户的接受,如PartyGaming(PartyPoker.com的制造者)。InfoQ就开源转变以及Hibernate/Websphere支持访问了Ari Zilka。

据Ari说,这一年中成长速度大大加快,夏天的时候论坛贴子数量翻了一番,网站每周的访问量达到几千,超过100个客户部署了他们的产品。“与开源产品和框架如Jetty、Geronimo、Spring和Tomcat集成用的Terracotta集成模块起到了加速的作用”。至于转向开源对公司的成长有何影响:
我们相信开源是重要的催化剂,有两个原因。首先,它降低了用户接受的成本,也降低了我们公司的销售成本。顾客现在自己完成整个概念验证过程,看过Terracotta在他们的应用中的使用效果,然后找我们谈企业购买的事情。这非常有助于我们保持较低的开销。这对顾客也很好,因为他们只需要投入一点时间就可以得出价值命题的结论。第二,开源是一个强烈的信号——开放源码是表明自身可靠程度的强列信号,表明你知道自己的产品是优秀的,并且可以经受住详尽的技术检查。我们相信在引入像Terracotta这样一种全新概念的时候,开源的影响会特别有价值。

从由VC支持的商业收入模型转向开源模型:

我们和顾客双方的交易成本都降低很多,这也加速了顾客的接受过程,对我们和用户社区都是巨大的利益。不过实际上转变过程并没有人们想象的那么戏剧性。公司的核心工作是制造出能增值的产品,然后想法把产品换成金钱。赚钱这个基本任务并没有改变,更不会消失。开源有利于产生好的产品,但决不是不花钱的。最大的变化是你的首要对手变成了自己,你必须找到方法去支持你的社区同时又赚到钱。我们同样认为这对顾客是很好的事情,因为Terracotta不能只提供支持,还被驱使着去发现更多创造性的价值增长点。在未来的几个月中,社区就会明白我们的意思。

Terracotta最近公布了一些值得注意的新客户,包括在线赌博公司PartyGaming、实时RIA框架Kaazing,以及开源CMS开发商Liferay。PartyGaming经营PartyPoker.com、PartyCasino.com、PartyBets.com和PartyBingo.com。他们的Terracotta部署包括几百台游戏服务器组成的集群。PartyGaming的CEO说,“Terracotta有能力组建数百台服务器的集群,同时网络使用率比其他方式低很多,由此带来的高性能是PartyGaming最主要的考虑。”

在今年夏天,Terracotta 2.4加入了对WebSphere和Hibernate的支持。Ari介绍说,Hibernate支持包括了两种方式:

  • 用集群化的EHCache在Hibernate底下完成二级缓存的工作。如果现有的应用只打算用集群化数据库缓存的方式降低数据库负载,就采用这种方案。
  • 在集群和Hibernate Session之间无缝地断开连接以及重新连接POJO,以此来实现Hibernate的POJO缓存。我们的POJO集群化成了Hibernate的代理……这很适合新的应用(或者改造现有应用),因为POJO集群化通过细致的字段级更新,能达到更高的性能。

Terracotta的字段级更新检测/缓存,比Hibernate的机制有何优点:

在POJO集群化的方式中,发送的数据比较少,调用Hibernate和数据库的频率也比较低,因此伸缩性好一点。它也好过散落在代码中的Hibernate的load()和store()调用……对于二级缓存,如果你在程序的其他部分为Session和POJO使用了Terracotta,使用Terracotta + EHCache的主要好处是获得单一的集群化提供者。否则Hibernate二级缓存基本上是对数据库行的定制序列化,一个字段对应到缓存里就成了一整行——所有缓存提供者都是这样的(顺便一提,这个例子说明了在缺少DSO的情况下,人们——在这里是Gavin King——被迫做什么样的变通)。

Terracotta 2.4还支持java.util.concurrent中的再入(re-entrant)读写锁:

在2.4之前,Terracotta在集群中的锁机制,比线程在单个JVM中所能支持的锁机制更加智能。由于JVM的锁语义是悲观和排他的,因此当把协调关系放到Terracotta中实现,我们就能够在集群中提供更多的支持。如果开发者想让线程池的范围从单机扩展到集群,抑或只想实现有些线程读有些线程读写的业务逻辑,再入(re-entrant)读写锁将会以纯粹POJO的风格,提升集群中每个JVM的速度。concurrentHashMap与hashmap的对比就是一个例子。java.util.concurrent中的集合的并发性是通过再入读写锁实现的,现在已经得到Terracotta 2.4的原生支持。性能又提高了!

Ari仿照Network Attached Storage的说法(或Azul所说的Network Attached Processing),把Terracotta定位成“Network Attached Memory”。Ari说:

这是有意的。NAS的意图是简化文件I/O的编程,以及支持透明地注入高可用性(HA),还有运行时可伸缩的存储能力。Terracotta设计时就考虑了全面的HA(n+m冗余度——你可以有任意多的备份,不停机的持续升级,等等)。其重要性在于,虽然应用各有不同,HA和伸缩性必须以一致的方式来达成,这样IT部门才能为业务部门提供低成本的稳固的应用。换言之,HA/伸缩性是一种全局的需要,而Terracotta就正好是设计来为Hotspot和IBM JRE提供这样的能力。

Terracotta的更多信息可以查阅InfoQ以往的新闻报道和技术文章:http://infoq.com/terracotta

查看英文原文:Catching up with Terracotta: Transition to Open Source, Adoption, Hibernate Support

译者 郭晓刚 是InfoQ中文站架构社区编辑,创建并终结过数家软件小企业,翻译过多本技术书籍。

好消息 发表人 Zhaoren Liu 发表于
Re: 好消息 发表人 yao tony 发表于
  1. 返回顶部

    好消息

    发表人 Zhaoren Liu

    赞一个。优秀的Terracotta将来带更多的益处吧。

  2. 返回顶部

    Re: 好消息

    发表人 yao tony

    切,一家之言不足信!

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。