About Thrift
- 10. How:A Sample
? 编写.thrift定义文件 : hello.thrift
namespace java service.demo
service Hello {
string helloString(1:string para)
i32 helloInt(1:i32 para)
bool helloBoolean(1:bool para)
void helloVoid()
string helloNull()
}
10
- 17. DataType
? 基本类型
? bool: 布尔值,true 或 false,对应 Java 的 boolean
? byte: 8 位有符号整数,对应 Java 的 byte
? i16: 16 位有符号整数,对应 Java 的 short
? i32: 32 位有符号整数,对应 Java 的 int
? i64: 64 位有符号整数,对应 Java 的 long
? double: 64 位浮点数,对应 Java 的 double
? string: 未知编码文本或二进制字符串,对应 Java 的 String
? 结构体类型
? struct:定义公共的对象(JavaBean、C中的结构体)
? 容器类型:
? list: 对应 Java 的 ArrayList
? set: 对应 Java 的 HashSet
? map: 对应 Java 的 HashMap
? 异常类型:
? exception:对应 Java 的 Exception
? 服务类型:
? service: 对应服务的类 17
- 18. Protocols
? TBinaryProtocol
:二进制编码格式
? TCompactProtocol: 高效率、密集的二进制编码格式
? TJSONProtocol : JSON 的数据编码协议
? TSimpleJSONProtocol : 只提供 JSON 只写的协议,
适用于通过脚本语言解析
18
- 27. 参考资料
? 官网 http://thrift.apache.org/
? wiki http://wiki.apache.org/thrift/FrontPage
? 论文 http://thrift.apache.org/static/thrift-20070401.pdf
27