Thrift

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

相关

  • span style=color:#ffffff;地理/span希腊位于欧洲东南角,巴尔干半岛南端。其北面与阿尔巴尼亚、北马其顿共和国和保加利亚毗邻,西临爱奥尼亚海,南靠地中海,东靠爱琴海与小亚细亚。希腊国土面积为131940平方千米,由希
  • 麦克德尔米德艾伦·格雷厄姆·麦克德尔米德,ONZ(英语:Alan Graham MacDiarmid,1927年4月14日-2007年2月7日),或译“艾伦·麦克迪尔米德”,化学家,具有美国和新西兰双重国籍。由于在导电聚合物领域
  • 质心质心为多质点系统的质量中心。若对该点施力,系统会沿着力的方向运动、不会旋转。质点位置对质量加权取平均值,可得质心位置。以质心的概念计算力学通常比较简单。质心对应的英
  • 大选中费德里科·弗朗哥 真正激进自由党奥拉西奥·卡特斯 红党 (巴拉圭)2013年巴拉圭大选于2013年4月21日举行,在野的保守派红党候选人奥拉西奥·卡特斯击败真正激进自由党提名人埃
  • 得克萨斯州加尔维斯敦加尔维斯顿(Galveston)是美国南部德克萨斯州东部加尔维斯顿县的一个城市,邻近休士顿和路易斯安那州,面积539.6平方公里,其中陆地面积为119.5平方公里,水域面积420.1平方公里。加尔
  • 女同性恋女同性恋女性主义(英语:Lesbian feminism)是20世纪70年代至80年代初(主要是北美和西欧)女性主义运动中的重要流派之一,鼓励女性将性倾向转向女性,将女同性恋视为女性主义运动的重要
  • 海达语海达语(Xaat Kíl)是海达族的语言。该语言有8个元音和超过30个辅音。语言学家爱德华·萨丕尔曾在1915年把海达语归为纳-德内语系,该提议随即受到诸多语言学家(如Pinnow, Greenb
  • 1987年冬季世界大学生运动会第十三届冬季世界大学生运动会于1987年在前捷克斯洛伐克的斯特尔布斯凯普莱索举行。比赛于2月21日至28日进行,为期8天。最终主办国捷克斯洛伐克以29枚奖牌的成绩位居奖牌榜榜
  • 日本裔俄罗斯人日裔俄罗斯人(俄语:Японцы в России、日语:日系ロシア人)是日侨的一个小群体,由移居于俄罗斯的日本人及其在俄罗斯出生的后代组成,他们当中有不少具有显著政治影响力
  • 商业周刊报导市售牛乳验出禁药事件2013年11月底,台湾杂志《商业周刊》大篇幅报导市售的多家知名牛乳品牌的成分中含有不明化学物质残留,指涉牛乳产品筛选过于宽松,牛乳安全性低。这篇报导刊出后引起社会关注,但被