Thrift:服务集成的实用方法(二)

日期: 2008-12-04 作者:Daniel Rubio翻译:杨君 来源:TechTarget中国 英文

从本质上来说,Thrift准许开发商关注服务的业务逻辑,使用这12个支持语言的任何一种,如果服务逻辑要求大量使用异步算法,则可以用Erlang语言来简化开发,或者如果这些专家倾向于Java就可以用Java语言,如果服务需要和用Ruby on Rails编写的网络应用整合在一起,就要用Ruby语言。而Thrift是通过Thrift文件来实现其灵活性的。   一个Thrift文件涵盖了服务的数据类型和方法特征,这和SOAP、CORBA中使用的其它语言中立合同是一样的—它们分别是WSDL和IDL合同。一旦我们设计了一个Thrift合同,就可以在任何一个特定的语言生产更多的短线。

  但是,Thrif……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

从本质上来说,Thrift准许开发商关注服务的业务逻辑,使用这12个支持语言的任何一种,如果服务逻辑要求大量使用异步算法,则可以用Erlang语言来简化开发,或者如果这些专家倾向于Java就可以用Java语言,如果服务需要和用Ruby on Rails编写的网络应用整合在一起,就要用Ruby语言。而Thrift是通过Thrift文件来实现其灵活性的。

  一个Thrift文件涵盖了服务的数据类型和方法特征,这和SOAP、CORBA中使用的其它语言中立合同是一样的—它们分别是WSDL和IDL合同。一旦我们设计了一个Thrift合同,就可以在任何一个特定的语言生产更多的短线。

  但是,Thrift短线和其它技术不同。因为它包含了协议和socket方法(管道编码)。Thrift一直在思考这个问题,并且尤其关注服务,它一直在使用自己的协议,用户抽取和服务器抽取,更不用说依靠使用方法来定义那些可以在其支持的十二种语言之间简单映射的类型了。

  从这个意义上来说,Thrift对用户服务抽取的支持和集成产品的一些功能有重叠的地方。因为它的合同和编码的生成方法同CORBA这样的分布式技术极为相似。Thrift是一款带有自我支持服务的版本,尤其是当许多编程语言用来支持服务的不足之处时或者还有其它处理运行时间版本控制的设计方式。

  至于由谁来使用Thrift,首先是在Facebook工程学小组指导下的Apache项目,Facebook工程学小组谈及了Thrift在现实世界的实用性。Thrift成为了一个让单个小组选择编程语言的重要组成部分,这些编程语言是建立在小组和域基础之上的,并且可以依靠Thrift 在它们内部云中实现服务整合。

  所以,如果你的组织SOA措施正在考虑从众多的编程语言中选取一门语言,有必要折中地考虑一下开放源软件。Thrift值得你近距离观察,其独特的协议和文件描述格式可能和少数抱守的技术人员不太对味,但是在版本控制支持方面,它所带来的收益,即使和那些已有的集成方法和产品相比较,也足以使其在市场上成为有力的竞争者。

相关推荐