Thrift

✍ dations ◷ 2025-12-11 09:21:35 #自2013年8月需要澄清文字的条目,应用层协议,数据序列化格式,进程间通信,远端程序呼叫,Facebook软件

Thrift是一种接口描述语言和二进制通讯协议,它被用来定义和创建跨语言的服务。它被当作一个远程过程调用(RPC)框架来使用,是由Facebook为“大规模跨语言服务开发”而开发的。它通过一个代码生成引擎联合了一个软件栈,来创建不同程度的、无缝的跨平台高效服务,可以使用C#、C++(基于POSIX兼容系统)、Cappuccino、Cocoa、Delphi、Erlang、Go、Haskell、Java、Node.js、OCaml、Perl、PHP、Python、Ruby和Smalltalk。虽然它以前是由Facebook开发的,但它现在是Apache软件基金会的开源项目了。该实现被描述在2007年4月的一篇由Facebook发表的技术论文中,该论文现由Apache掌管。

Thrift包含一套完整的栈来创建客户端和服务端程序。顶层部分是由Thrift定义生成的代码。而服务则由这个文件客户端和处理器代码生成。在生成的代码里会创建不同于内建类型的数据结构,并将其作为结果发送。协议和传输层是运行时库的一部分。有了Thrift,就可以定义一个服务或改变通讯和传输协议,而无需重新编译代码。除了客户端部分之外,Thrift还包括服务器基础设施来集成协议和传输,如阻塞、非阻塞及多线程服务器。栈中作为I/O基础的部分对于不同的语言则有不同的实现。

Thrift支持众多通讯协议:

支持的有:

Thrift还提供众多的服务器,包括:

Thrift一些已经明确的优点包括:

Thrift由C++编写,但可以为众多语言创建代码。要创建一个Thrift服务,必须写一些Thrift文件来描述它,为目标语言生成代码,并且写一些代码来启动服务器及从客户端调用它。下面就是一个这样的描述文件的代码示例:

enum PhoneType { HOME, WORK, MOBILE, OTHER}struct Phone { 1: i32 id, 2: string number, 3: PhoneType type}

Thrift将由这个描述信息生成独立的代码。例如,在Java里,PhoneType将是Phone类中一个简单的enum

相关

  • 超渡超渡或超度(度通渡),也称超荐等,起源于汉传佛教,通用于道教、中国民间宗教的术语,本意是帮助有情众生离苦得乐,在汉语中引申为亡者祈求冥福的法事。起源于唐代开元年间,由唐玄宗下令
  • 早产婴儿早产儿,意指因妊娠期未满而在母体内尚未发育成熟却由于某种因素早产的胎儿。胎龄在37足周以前出生的活产婴儿称为早产儿或未成熟儿。
  • 完全气体完全气体在物理学中是指一种假想的气体,仅考虑分子热运动,而忽略分子间内聚力与分子体积,因此在物理特性的计算上会比较简单。完全气体比理想气体更加的简单,因此可以将理想气体
  • 潮汐钟潮汐钟是一种依据月球环绕地球的视运动特别设计的钟。沿着海岸线的许多潮汐,都是太阳和月球联合的潮汐,但是月球仍占了主要的成分(67%) 。潮汐钟的运转依据月球潮汐高潮的时间间
  • 马萨诸塞湾省马萨诸塞湾省(英语:Province of Massachusetts Bay)是英属北美的直辖殖民地,1776年起成为美国起初十三个州之一。1691年10月7日由英格兰、苏格兰及爱尔兰王国共同国君威廉三世和
  • 23宪法正文I ∙ II ∙ III ∙ IV ∙ V ∙ VI ∙ VII其它修正案 XI ∙ XII ∙ XIII ∙ XIV ∙ XV XVI ∙ XVII ∙ XVIII ∙ XIX ∙ XX XXI ∙ XXII ∙ XXIII ∙
  • 美国驻外使馆美国驻外机构列表展示出美国对世界各国、各地派出的外交代表机构,其类型包括了大使馆(Embassy)、总领事馆(Consulate General)、领事馆(Consulate)、领事代理处(德语:Konsularagentur
  • 1964年冬季世界大学生运动会第三届冬季世界大学生运动会于1964年2月11日至17日在捷克斯洛伐克什平德莱鲁夫姆林举行。这是什平德莱鲁夫姆林首次主办冬季世界大学生运动会。 *  主办国家/地区(捷克斯
  • 国家标准技术研究所美国国家标准技术研究所(National Institute of Standards and Technology,简写为NIST)的前身为国家标准局(NBS,1901年~1988年),是一家测量标准实验室,属于美国商务部的非监管机构。
  • 芬兰罗姆人芬兰罗姆人(芬兰语:Suomen romanit;瑞典语:Kalé-romer)是一个在芬兰居住了五百年以上的语言和文化上的少数民族。据估计芬兰罗姆人约为一万人,另外大约有三千芬兰罗姆人居住在瑞