Thrift 是 什 么
Thrift源于大名鼎鼎的 facebook之手,在 2007年 facebook提交 Apache基金会将 Thrift作为一个开源项目,对于当时的 facebook来说创造 thrift是 为了解决facebook系统中各系统间大数据量的传 输通信以及系统之间语言环境不同需要跨平台的特性
所以 thrift可以支持多种程序语言,例如:C++,C#,Cocoa,Erlang,Haskell,Java,Ocami,Perl,PHP,Python,Ruby,Smalltalk
在多种不同的语言之间通信 thrift可以作为二进制的高性能的通讯中间件,支持数据(对象)序列化和多种类型的RPC服务
Thrift适用于程序对程 序静态的数据交换,需要先确定好他的数据结构,他是 完全静态化的,当数据结构发生变化时,必须重新编辑 IDL文件,代码生成,再编译载入的流程,跟其他 IDL工具相比较可以视为是 Thrift的弱项,Thrift适用于搭建大型数据交换及存储的通用工具,对于大型系统中的内部数据传输相对于 JSON和 xml无论在性能、传输大小上有明显的优势
Thrift是 IDL(interfacedefinitionlanguage)描述性语言的一个具体实现,关于IDL的话题我们可以追溯到 CORBA盛行 1999-2001年(CommonObjectRequestBrokerArchitecture/公用对象请求代理体系结构),在 IDL中我们似乎不会忘记到这几个关键字:module、interface、string、long和 int,我还记得IDL利用 module来创建名称空间,并且准确地映射为 Java的 package,这些特性几乎和现在thrift的特性完全相同,所以 thrift的设计思想和理念绝不是 什 么 从火星来的 newide