Thrift

✍ dations ◷ 2025-11-16 12:06:25 #自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

相关

  • 肠道寄生虫肠道寄生虫(英语:Intestinal parasite)是指主要寄生在人类或其他动物之肠道的寄生虫,主要透过受污染的食物或食水而感染。肠道寄生虫的类型包括蛔虫、蛲虫(线虫)、钩虫、绦虫及肝
  • GPnotebook家庭医生笔记(英语:GPnotebook)是英国为家庭医生(GP)所建的医学数据库。它是一本线上医学百科全书,提供全球临床医师立即的参考资源。家庭医生笔记数据库内建有超过三万篇资料页面
  • 李鸿章李鸿章,1896年李鸿章(1823年2月15日-1901年11月7日),训名章铜,字少荃、子黻、渐甫,号仪叟、省心,谥文忠,人称李中堂、李傅相。清朝安徽合肥人,晚清重臣。官东宫三师、文华殿大学士、北
  • 夏季世界大学生运动会第二十九届夏季世界大学生运动会(英语:XXIX Summer Universiade,简称2017年台北大运会或台北大运会)于2017年8月19日至8月30日在中华民国台北市举行,为台湾首次举办世界大学生运
  • 鞘糖脂鞘糖脂(英语:Glycosphingolipid),又称糖神经胺醇脂,糖脂的一类,由非脂的糖基部分与神经鞘氨醇相连构成。与鞘磷脂通称鞘脂。又分为中性鞘糖脂和酸性鞘糖脂,前者糖基不含唾液酸,后者
  • 赫尔德瓦尔赫尔德瓦尔(Haridwar;又译作哈立德瓦尔)是印度北阿坎德邦一个重要的朝圣城市,恒河在从源头甘戈特里冰川流出253公里后,在此进入恒河平原。赫尔德瓦尔被视为印度教七个最神圣的地
  • 生活《生活》(Life)是一本在美国发行的老牌周刊杂志,可说是在美国家喻户晓,地位与《时代》(Time)相差不远。其前身是1883年在纽约市曼哈顿发行的幽默周刊,发行社就叫做生活出版社(Life P
  • 南苏门答腊南苏门答腊省(印尼语:Sumatera Selatan)是印度尼西亚的一个省,位于苏门答腊东部,2000年以前也包括邦加岛和勿里洞岛(现为邦加-勿里洞省)。面积72781平方公里。首府巨港(巴邻旁)是昔日
  • 北元北元(蒙古语:.mw-parser-output .font-mong{font-family:"Menk Hawang Tig","Menk Qagan Tig","Menk Garqag Tig","Menk Har_a Tig","Menk Scnin Tig","Oyun Gurban Ulus Tig"
  • 锥鼻鲯鳅鳕锥鼻鲯鳅鳕(学名:)又名鳕鱼、锥鼻突吻鳕,为辐鳍鱼纲鳕形目鼠尾鳕科突吻鳕属下的一个种,为深海底栖性鱼类,分布于西北太平洋日本至东海海域,深度可达1537米,体长可达47公分,栖息在底层