专访开源项目Amoeba架构师陈思儒
DBA notes站长冯大辉(Fenng)代表InfoQ中文站采访了分布式数据库Proxy开源项目Amoeba的架构师和主要开发者陈思儒,内容包括Amoeba项目的起因、功能及其愿景等。
作者 王翔 发布于 2007年7月5日 下午11时27分
MSDN杂志7月刊中对新的文件系统作了介绍,作为Windows平台一项“革命性”的新技术特性,Vista和将要发布的Longhorn中会支持并不断加强具有事务性的文件系统——TxF。
对于从事服务端开发的技术人员而言,使用事务,尤其是控制分布式操作的事务是个至关重要的能力,如果某个环节“拿捏”不当,将在系统运维过程中用数十倍甚至数百倍的精力来解决。之前文件系统一直被作为一个典型的非事务性对象使用,也就是当数据库、队列、WCF等事务性对象在某种条件下回退的时候,中间操作过的文件系统也会保留痕迹;与之不同的是,TxF = NTFS + Tx,也就是文件系统也具有操作上的“All or Nothing”的事务性特征。在文章中,作者列举了这一文件系统的三个优势“提升应用稳定性”、“提升平台稳定性”和“增加创新机会”:
借助TxF可以有效减少应用在异常情况下的“扫尾”工作,应用的可靠性交给操作系统保证。在不使用TxF的时候,如果事务本身有多层嵌套,而且调用环境又是分布式环境,那么每处涉及文件访问的位置都需要“设防”。需要回退的话,如何通知远端文件系统本身就很困难(限于各种访问控制策略),加之错误本身很多时候就是因为连通性原因导致;在TxF环境下,应用不需要关心事务的层次,也不需要关心连通性故障。
另外,使用TxF对于在线软件更新之类的应用特性也很有用,“半拉子”的情况最令人头疼,这种情况下应该考虑TxF的All or Nothing了。
但另外一个重要的地方是提供了一个“选项”——文件操作在异常处理时怎么办。实现方式上,TxF依赖于操作系统中KTM(Kernel Transaction Manager),而KTM可以与大家熟悉的DTC进行交互,相当于TxF可以间接地和任何支持DTC的技术进行事务协同。包括:
虽然TxF为开发人员开辟了一个非常广阔的调用空间,但它只是个“选项”,非事务性的文件系统在很多应用情境下还是非常必要的,诸如:
与Longhorn一起到来的应该会是SOA渐入主流的开发时代,XML将成为消息方式的主流,届时XML数据库和文件系统均会被用来存储XML数据,保证报文的I/O与前端Service调用结果的事务性同步将会很重要。Txf作为一项革新技术,如何在有效隔离事务边界的情况下,被妥善地使用将是一个很大的挑战。
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所具备的功能。
1 条回复
回复