从本质上来说,Thrift准许开发商关注服务的业务逻辑,使用这12个支持语言的任何一种,如果服务逻辑要求大量使用异步算法,则可以用Erlang语言来简化开发,或者如果这些专家倾向于Java就可以用Java语言,如果服务需要和用Ruby on Rails编写的网络应用整合在一起,就要用Ruby语言。而Thrift是通过Thrift文件来实现其灵活性的。 一个Thrift文件涵盖了服务的数据类型和方法特征,这和SOAP、CORBA中使用的其它语言中立合同是一样的—它们分别是WSDL和IDL合同。一旦我们设计了一个Thrift合同,就可以在任何一个特定的语言生产更多的短线。
但是,Thrif……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属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值得你近距离观察,其独特的协议和文件描述格式可能和少数抱守的技术人员不太对味,但是在版本控制支持方面,它所带来的收益,即使和那些已有的集成方法和产品相比较,也足以使其在市场上成为有力的竞争者。
作者
相关推荐
-
API设计:如何正确开发应用程序接口
在交互组件化软件的世界里,没有比让组件之间以及组件与移动设备和浏览器之间进行连接的应用程序接口(API)更重要的东西了。
-
REST vs. SOAP:如何挑选最好的Web服务
在应用没有任何服务器端的组件情况下,有没有可能直接通过我的应用数据库直接使用这些Web服务?
-
BEST:SOAP/XML和REST的替代方案
虽然拥有大量的机架服务器,以及大量软件开发人员的组织,基于web和集成服务的SOAP和REST很适合他们,但也会出现问题。
-
REST和SOAP 谁使移动应用最受益?
你应该听说过REST,如果在移动应用开发中使用REST,而不是使用SOAP,最大好处是什么?