Thrift最初由facebook研发,主要用于各个服务之间的RPC通信,支持跨语言。
Thrift是一个典型的CS结构,客户端和服务端可以使用不同的语言开发,所以需要有一种中间语言来关联客户端和服务端的语言。
这种语言就是IDL(接口描述语言)
RPC通信框架如果支持多个语言,那么他支持的数据类型一般是这些编程语言数据类型的交集,保证最大的共同支持。
Thrift数据类型
1. byte
2. i16
3. i32
4.i64
5.double
6.string
Thrift容器类型
1. list
2. set
3. map
Thrift工作原理
如何实现多种语言之间的通信?
数据传输用Socket(多种语言都支持), 数据再以特定的格式发送,接受方语言进行解析。
定义thrift的文件,由thrift文件(IDL)生成双方语言的接口,model,在生成的model以及接口中会有解码编码的代码。