Thrift

✍ dations ◷ 2025-12-11 00:30:40 #自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

相关

  • 食物过敏食物过敏是免疫系统对食物异常的反应。食物过敏的症状与征候可轻可重包括发痒、舌头肿大、呕吐、腹泻、荨麻疹、呼吸困难到低血压等等。轻微程度者会有嘴唇或面部肿胀、荨麻
  • 2013年夏季热浪2013年夏季热浪指2013年夏季,北半球陆地发生高温酷暑的异常天气现象。2013年夏季。约在2013年7月至8月。
  • 脑下垂体柄脑垂腺柄(pituitary stalk、infundibular stalk、Fenderson's funnel、infundibulum)是下丘脑和脑垂腺后叶(英语:Posterior pituitary)之间的连接部分。第三脑室(英语:Third ventri
  • 东方计划东方计划(俄语:Восто́к)是一个意图首次将人成功地送入地心轨道的苏联载人航天计划。这一计划从泽尼特间谍卫星出发,设计了东方号飞船,并从SS-6洲际弹道导弹改造成东方号火
  • 沈一鸣沈一鸣(1957年3月30日-2020年1月2日),中华民国空军一级上将,籍贯江苏宜兴,生于台北士林,曾任参谋总长、国防部副部长、空军司令、国防部常务次长、副参谋总长、空军作战指挥部指挥
  • 格顿学院剑桥大学格顿学院(英语:Girton College, Cambridge) 是剑桥大学的一个学院。格顿学院由艾米丽·戴维斯和芭芭拉·博迪肯于1869年建立,是英格兰第一所寄宿制女子学院。1977年学
  • 性病疣尖锐湿疣(英语:Genital warts),也称性器疣或性病疣,俗称椰菜花或菜花,是一种性传播疾病。常见临床症状为菜花状肉芽,常发于生殖器,肛门等部位。尖锐湿疣是由人类乳突病毒(human papil
  • 东北农业大学东北农业大学(Northeast Agricultural University,NEAU)是一所中国国内同类院校一流、具有中国北方现代农业特色的多科性、研究教学型和开放式的国家“211工程”重点建设大学,也
  • 方块壮字方块壮字又称古壮字,是壮族人民为了书写壮语借用汉字的字型或结构创造的文字。壮语叫做“��”(sawndip),是未成熟文字的意思。信息学界已经把一些壮字收录进中日韩统一表意文字,中
  • 陈禹安陈禹安(YU-AN CHEN,1982年1月17日-)台湾台中人,台湾著名歌子戏女小生演员、女歌手,全球唯一一位歌子戏领域,荣获美国洛克菲勒基金会之亚洲文化协会年度受奖者,2018年12月赴纽约深造