多平台统一管理系统接口,提高效率与自动化的关键
808
2022-10-12
Thrift协议与传输选择(thrift协议和http协议)
1 协议
Thrift 可以让用户选择客户端与服务端之间传输通信的消息协议类别,如我们前面所讲总体划分为文本 (text) 和二进制 (binary) ,为节约带宽,提高传输效率,一般情况下使用二进制类型的为多数,有时还会使用基于文本类型的协议,这需要根据项目 / 产品中的实际需求。常用协议有以下几种:
thrift.protocol.TBinaryProtocol二进制编码格式进行数据传输客户端构建方式:
protocol = TBinaryProtocol.TBinaryProtocol(transport)
服务端构建方式:
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
thrift.protocol.TCompactProtocol高效率的、密集的二进制编码格式进行数据传输,推荐使用客户端构建方式:
protocol = TCompactProtocol.TCompactProtocol(transport)
服务端构建方式:
pfactory = TCompactProtocol.TCompactProtocolFactory()
thrift.protocol.TJSONProtocol使用 JSON 的数据编码协议进行数据传输客户端构建方式:
protocol = TJSONProtocol.TJSONProtocol(transport)
服务端构建方式:
pfactory = TJSONProtocol.TJSONProtocolFactory()
2 传输
常用的传输层有以下几种:
thrift.transport.TSocket使用阻塞式 I/O 进行传输,是最常见的模式客户端构建方式:
transport = TSocket.TSocket('127.0.0.1', 8888)
服务端构建方式:
transport = TSocket.TServerSocket('127.0.0.1', 8888)
thrift.transport.TTransport.TBufferedTransport原始的socket方式效率不高,Thrift提供了封装的加了缓存的传输控制,推荐方式客户端构建方式:
transport = TSocket.TSocket('127.0.0.1', 8888)transport = TTransport.TBufferedTransport(transport)
服务端构建方式:
transport = TSocket.TServerSocket('127.0.0.1', 8888)tfactory = TTransport.TBufferedTransportFactory()
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~