Thrift 是Apache下的可扩展,跨语言软件框架,能够无缝链接C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml Delphi等其余语言git
目前最新版本: 0.11.0 (released on 2017-DEC-07).github
Maven依赖:apache
<dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> <version>0.11.0</version> </dependency>
官方网站: http://thrift.apache.org/服务器
git路径: git clone https://github.com/apache/thrift.git
框架
安装网站
1. 安装Thrift
编码
2. 安装Thrift编译器, 用于自动生成服务器端与客户端的源码code
3.编写 接口定义 .thrift文件, 接口定义文件中包含 类型定义 和服务接口定义server
4. 生成server, client 的源码 thrift --gen <language> <Thrift filename>
接口
Thrift Types
Thrifty type 基本使用各类语言的基础抽象类型, Thrift IDL详细介绍了各类语言的对应Thrift 类型
基础类型
特殊类型
binary: 未编码字节流
N.B.: string类型的特殊形式, 更适用于Java.
Services服务
service <name> {
<returntype> <name> (<arguments>) [throws (<exceptions>)]
............
}
关于thrift协议的了解,能够参考 white paper: http://thrift.apache.org/static/files/thrift-20070401.pdf