自己百度谷歌一下把。
http://thrift.apache.org/docs/install/
http://thrift.apache.org/download我下载的版本是0.9.1
解压后,进入根目录,输入:
如果输入thrift -version,提示说thrift-compiler没有安装,怎安装上。
Thrift 是一个服务端和客户端的架构体系,从我个人的感官上来看 Thrift 是一个类似XML-RPC+Java-to- IDL+Serialization Tools=Thrift 的东东,Thrift 具有自己内部定义的传输协议规范(TProtocol)和传输数据标准(TTransports),通过 IDL 脚本对传输数据的数据结构(struct) 和传输数据的业务逻辑(service)根据不同的运行环境快速的构建相应的代码,并且通过自己内部的序列化机制对传输的数据进行简化和压缩提高高并发、 大型系统中数据交互的成本,下图描绘了 Thrift 的整体架构,分为 6 个部分:
(1).你的业务逻辑实现(You Code)
(2).客户端和服务端对应的 Service
(3).执行读写操作的计算结果
(4).TProtocol
(5).TTransports
(6).底层 I/O 通信
图 中前面 3 个部分是 1.你通过 Thrift 脚本文件生成的代码,2.图中的褐色框部分是你
根据生成代码构建的客户端和处理器的代码,3.图中红色的部分是 2 端产生的计算结
果。从 TProtocol 下面 3 个部分是 Thrift 的传输体系和传输协议以及底层 I/O 通信,
Thrift 并且提供 堵塞、非阻塞,单线程、多线程的模式运行在服务器上,还可以配合
服务器/容器一起运行,可以和现有 JEE 服务器/Web 容器无缝的结合。
A、Base Type :基本类型
(1)bool:布尔类型(true或false)
(2)byte:8位有符号整数
(3)i16:16位有符号整数
(4)i32:32位有符号整数
(5)i64:64位有符号整数
(6)double:64位浮点数
(7)string:文本字符串,使用UTF-8编码
B、Container:容器:如list、set、map
C、Struct:结构体类型
如下面的一个例子:
struct People {
1:string name;
2:string sex;
}
struct和C里面的结构体很类似。
D、Exception:异常类型
E、Service:定义对象的接口和一系列方法
如下面一个例子:
service DemoService {
string getUserName(1:i32 id);
i32 add(1:i32 num1, 2:i32 num2);
}
一个service对应一个类,里面是一些方法。
如getUserName方法就是根据一个id返回一个字符串,add方法是对num1和num2进行求和。
Thrift可以在kehudaun和服务端之间传输选择通信协议,协议总体上分为文本(text)和二进制(binary)传输协议。
* TBinaryProtocol