专访开源项目Amoeba架构师陈思儒
DBA notes站长冯大辉(Fenng)代表InfoQ中文站采访了分布式数据库Proxy开源项目Amoeba的架构师和主要开发者陈思儒,内容包括Amoeba项目的起因、功能及其愿景等。
作者 Ryan Slobojan译者 张海龙 发布于 2007年9月30日 上午1时33分
GigSpaces最近发布了他们的极限应用平台 (XAP)的6.0版,它是一个软件底层构造平台,可以让应用程序扩展到分布式环境中。InfoQ对GiaSpace的Geva Perry和Nati Shalom进行了采访,以了解更多关于这一版本以及其中变化的信息。首先,Perry和Shalom介绍了6.0中的主要变化:
当请他们进一步描述什么是处理单元(Processing Unit)时,Perry和 Shalom说:
在基于空间的架构中,一个处理单元代表一个应用的扩展和容错单元,它通常包括所有对延迟(latency)和运行时具有紧密依赖 的应用服务和中间件模块,它将那些服务封装在一个单独的容器(即处理单元)中,并对所有的这些组件以一种通用的方式来保证一致的扩展和容错语义。例如,对 于一个失败事件,它将自动同时触发中间件模块(如消息、数据网格)和关联的业务逻辑的恢复进程,通过这种方式,我们可以避免当一个实际的失败事件发生后, 消息系统已将事件传送出去,但应用服务却还没有准备好去处理它而引起的局部失效和不一致行为。从延迟的角度来看,这种将所有组件封装于相同运行时的容器中 方式减少了网络开销,因为他们的交互全部是在内存进行。扩展特性变得像增加处理单元那样简单,换句话说,就是不需要再分别去扩展数据、业务逻辑和/或消息层。
他们还讲述了他们怎样看待这一版本在蓝图中的位置:
6.0是把我们一直为之努力的理想向前推进的又一重要步骤,这一理想的核心是让那些使用多层构架和J2EE栈构建应用的日子走向终结!这些架构和依赖于这些架构的中间件技术,在支持现代商业应用要求的可扩展性、可靠性和性能等方面,已经走进了死胡同。
除 此以外,新出现的架构将基于低成本硬件来支持横向扩展,而非纵向扩展;他们将利用内存数据网格来实现实时的、在线的事务化记录系统来替代关系型数据库管理 系统(RDBMS);他们将通过数据和服务的动态定位,用单独的“持续可用”的容错集群来创建自给自足的“处理单元”。
Perry和Shalom同时还提到,很多主流网站如eBay、Google、MySpace和亚马逊也提出了类似的观念,MapReduce, Hadoop和memcached便是现成的例子。不过他们也很清楚的表示,他们正在通过对JDBC、JMS和Spring的支持来小心地维护与J2EE世界、现有开发者技能之间的互操作性。他们还指出XAP社区版本和OpenSpaces这类产品针对主流开发者的意向甚过他们那些主要由大型公司使用的企业级产品。
被问及GigaSpaces与GridGain、Coherence和Terracotta相比会如何时,他们认为这些供应商正试图教育社区以更佳 的方式去创建和部署应用,相比之下,GigaSpaces被设计作为全面的应用平台以解决扩展、性能和高可用性等方面的问题,而其它的供应商则更关注于分 布式计算的细节方面,如分布式缓存。他们还提到,GigaSpaces之前并不是一个关注于批量应用的企业级网格计算解决方案,为了提供这种方案, GigaSpaces与GridGain、DataSynapse和Platform Computing这样的公司进行了合作。相比在交互的应用网格中处理共享资源的多个应用而言,GigaSpaces还更多地侧重于在内部应用网格中运行 单个应用。InfoQ又请Perry和Shalom对Cameron Purdy最近的“对网格计算未来的思考”给予评论,他们说:
Cameron 的声明一直强调Tangosol是最好的数据缓存技术,因为它主要就是关注于这一点:数据缓存。我们认为它现在自信能以端到端的方式解决整个应用的扩展 性、性能和可用性问题,而不仅是应用的数据瓶颈,但这将有更多要求,远不止分布式缓存这样的功能(尽管它被称为数据网格)。Oracle已经认识到这一 点,这也正是他们收购Tangosol的原因,他们试图将缓存加到他们的Fusion中间件栈中,该中间件栈中还将包括他们的传统应用服务器和消息技术。
无论如何,就算把不同技术集成的再好(而这一点也有待证实),在为所有协作组件的可测量性、性能和持续可用性提供一个通用动态集群模型这方面,它也一直存在有先天的不足。相比GigaSpaces 6.0 XAP所使用的SBA整体方案而言,它压根就是完全错误的。
最后,当被问到XAP会拥有怎样的未来时,他们说:
对于EC2和我们的社区版本,我们计划提供一个特别的“起步助力”,允许那些刚起步的非营利性开源项目在他们的产品中免费使用这些版本。这是我们第一次对此进行公开声明,在未来几周内就会启动,所以敬请留意。
DBA notes站长冯大辉(Fenng)代表InfoQ中文站采访了分布式数据库Proxy开源项目Amoeba的架构师和主要开发者陈思儒,内容包括Amoeba项目的起因、功能及其愿景等。
作为三期系列文章的第二部分,本文延续了上一期内容,介绍了RichFaces,包括如何把RichFaces集成到之前提到的示例应用中、如何部署RichFaces porlet和RichFaces的多种特性和功能。
Amazon Web Services(AWS)的传道者Jeff Barr讨论了SimpleDB、S3、EC2、SQS、云计算、Amazon的不同服务如何与应用交互、AWS的起源、SimpleDB和微软SQL Server Data Services、AWS cloud的全球化、三月份的AWS停机。
Erlang的并发模型很有名,它的健壮性也很有名。但其他方面呢?在这篇文章里,Dennis Byrne演示了如何用Erlang建立内部DSL。
本视频主要以FreeWheel为例,对一个基于Rails的企业级应用进行了剖析。其中包括:FreeWheel的架构、部署、数据库的问题、REST API、敏捷开发过程、如何去写测试以及持续集成等等。
JavaFX显示了Sun的Java系列产品市场方向的一个重大转变。随着1.0版的即将发布,InfoQ以JavaFX预览版为参考,与Sun高级工程师Joshua Marinacci探讨了即将发布的1.0正式版。
本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。
没有回复
回复