Thrift

✍ dations ◷ 2025-12-03 16:50:22 #自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

相关

  • 华中科技大学武汉中心医院武汉市中心医院,是中华人民共和国一家综合性三级甲等医院,始建于1880年,其前身为汉口天主堂医院。主院区南京路院区位于湖北省武汉市江岸区,另外在江汉区设有后湖院区,以及谌家矶
  • 伊万·彼得罗维奇·巴甫洛夫伊万·彼得罗维奇·巴甫洛夫(俄语:Иван Петрович Павлов,1849年9月26日-1936年2月27日),俄罗斯生理学家、心理学家、医师。他因对狗研究而首先对古典制约作出描
  • 置换反应置换反应又称单置换反应,是指一种元素或化合物的离子根与一种离子化合物发生的反应,狭义氧化还原反应是置换反应的一种,且必为广义的氧化还原反应。在反应中,关键在于还原性或氧
  • 睫毛睫毛是一种毛发,长于眼睛的眼睑的边缘。具有保护眼睛的功用,十分敏感。如果有尘埃等的异物碰到睫毛,眼睑会反射性地合上,以保护眼球。在现时世上多种文化里,长长的眼睫毛被视为一
  • 500米口径球面射电望远镜500米口径球面射电望远镜(英语:Five-hundred-meter Aperture Spherical radio Telescope,简称FAST)是中国科学院国家天文台的一座射电望远镜,焦比达0.467。FAST位于贵州省平塘县
  • 分子人类学分子人类学(英语:Molecular Anthropology)是人类学的分支,是在人类基因组等研究基础上发展形成的一门新兴交叉学科,利用分子水平的遗传信息来分析人类起源、当代和古代人类群体的
  • 平方公里阵平方千米阵(英语:Square Kilometre Array,缩写为SKA)是计划中的下一代巨型射电望远镜阵列,工作在0.10–30GHz的波段,有效接收面积可以达到大约1平方公里,灵敏度将比目前世界上最大
  • Macmillan Reference USA麦克米伦出版公司(Macmillan Publishers Ltd.)是六大出版商之一,由苏格兰人丹尼尔及亚历山大·麦美伦两兄弟于1843年在英国伦敦成立,前英国首相哈罗德·麦美伦于卸任首相后曾担
  • 教宗保禄四世教宗保禄四世(拉丁语:Paulus PP. IV;1476年6月28日-1559年8月18日),原名若望·伯多禄·卡拉法(Gian Pietro Carafa),1555年5月23日当选罗马主教(教宗),同年5月26日即位至1559年8月18日。
  • 实用新型专利 实用新型是一种保护发明的知识产权权利。这种权利在一部分国家通过立法存在,例如阿根廷、奥地利、巴西、智利、中国、丹麦、芬兰、法国、德国、匈牙利、意大利、日本、马来