云服务器探讨 2010-05-07
Terracotta是一款由美国Terracotta公司开发的著名开源Java集群平台。它在JVM与Java应用之间实现了一个专门处理集群功能的抽象层,以其特有的增量检测、智能定向传送、分布式协作、服务器镜像、分片等技术,允许用户在不改变现有系统代码的情况下实现单机Java应用向集群话应用的无缝迁移。使得用户可以专注于商业逻辑的开发,由Terracotta负责实现高性能、高可用性、高稳定性的企业级Java集群。
Terracotta公司目前在美国、欧洲、澳大利亚、印度等地有近百名员工,为Terracotta商业用户提供7x24技术支持、解决方案咨询等服务。同时在Terracotta开源产品之上提供适用于企业用户的高端产品。
Terracotta公司在2009年收购了著名的Java开源缓存项目Ehcache以及Java任务调度项目Quartz。经过对该项目的深度整合,Terracotta推出了易用性更高的分布式缓存、分布式任务调度以及分布式Web Session等快捷解决方案,进一步方便了开发人员开发分布式Java应用。
Terracotta核心平台是一个基于JVM的集群解决方案,允许用户在不修改代码的情况下把单机Java应用程序运行在多JVM的集群中。
其主要功能特点如下:
Terracotta DSO核心平台提供了一个稳健、高效、高可用、易用、易管理的Java集群平台。
Terracotta为了进一步帮助J2EE开发人员充分利用其核心平台提供的各项特性,针对Java开发人员常用的Java技术平台提供了一系列快捷模式(Express Mode)的解决方案,包括Ehcache分布式缓存、Hibernate分布式二级缓存、Web Session集群、
分布式Java任务调度Quartz等等。
使用快捷模式,可以避免客户端程序对JDK和应用服务器的依赖、避免配置tc-config.xml文件等等。用户直接拷贝相应的jar文件,对方案相关的配置文件进行简单修改(比如ehcache.xml, hibernate.cfg.xml文件等等),就可以实现集群化了。
后面将逐一介绍Terracotta快捷模式支持的解决方案。
Ehcache是独立于Terracotta开发的开源Java缓存项目。由于其高效、易用等特点,已经被超过70%的Java开发人员直接活间接使用。
Ehcache也是Hibernate项目缺省,也是功能支持最完备的耳机缓存解决方案。
Terracotta于2009年收购了Ehcache项目,并且对其进行深度整合。
整合后的Ehcache保留了其原有的API,增加基于Terracotta集群的分布式缓存。用户可以通过对ehcache.xml的简单配置,实现对原有基于Ehcache构建的代码的集群化升级。
<ehcache>
<terracottaConfig url="someserver:9510"/>
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToLiveSeconds="120"
/>
<cache name="com.company.domain.Pets"
maxElementsInMemory="10000"
eternal=”true”>
<terracotta clustered="true" coherent="false"/>
</cache>
<cache name="com.company.domain.Pets"
maxElementsInMemory="10000"
timeToLiveSeconds="3000">
<terracotta clustered="true" coherent="true"/>
</cache>
</ehcache>
整合后的分布式Ehcache有如下特点:
由于Ehcache本身就是Hibernate标准二级缓存实现,因此将单机版的Hibernate二级缓存扩展到分布式缓存于将Ehcache扩展成分布式缓存一样简单。其优势也可以自动继承。
2010年3月,Terracotta推出了Ehcache 2.0,其中包含了大量的新的功能:
待续。。。