目前Thrift使用python作为服务端支持的协议只有三种TBinaryProtocol,TCompactProtocol和TJSONProtocol,下面分别介绍这三种协议的区别和使用方法。
1.TBinaryProtocol
TBinaryProtocol就是以普通的二进制编码格式进行数据传输,速度相比于json快。
from thrift.protocol import TBinaryProtocol
# 服务端
proto = TBinaryProtocol.TBinaryProtocolFactory()
# 客户端
proto = TBinaryProtocol.TBinaryProtocol(transport)
2.TCompactProtocol
TCompactProtocol将二进制编码进行压缩编码,传输的数据更加精简,传输效率更高。
from thrift.protocol import TCompactProtocol
# 服务端
proto = TCompactProtocol.TCompactProtocolFactory()
# 客户端
proto = TCompactProtocol.TCompactProtocol(transport)
3.TJSONProtocol
TJSONProtocol使用 JSON 的数据编码协议进行数据传输。
from thrift.protocol import TJSONProtocol
# 服务端
proto = TJSONProtocol.TJSONProtocolFactory()
# 客户端
proto = TJSONProtocol.TJSONProtocol(transport)