目前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)