Thrift协议与传输选择

简介: Thrift协议与传输选择

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()
目录
相关文章
|
6月前
|
存储 XML JSON
应用层协议设计ProtoBuf/Thrift
应用层协议设计ProtoBuf/Thrift
64 0
|
消息中间件 网络协议 网络性能优化
为什么TCP要做成流式协议,而非包呢?
为什么TCP要做成流式协议,而非包呢?
103 1
|
23天前
|
监控 物联网 Linux
Bluegiga APX4 协议
Bluegiga APX4协议是一种专为低功耗蓝牙设备设计的通信协议,支持多种工作模式和配置选项,适用于各种无线连接应用场景,如智能家居、医疗设备和可穿戴设备等。
|
4月前
|
网络协议 网络性能优化
用udp协议传输文件
【7月更文挑战第18天】使用 UDP 协议传输文件 UDP(User Datagram Protocol,用户数据报协议)是一种无连接的、不可靠的传输协议。尽管它不像 TCP 那样提供可靠的传输和拥塞控制,但在某些特定场景下,例如对实时性要求较高、能容忍一定数据丢失的情况,也可以用于文件传输。
|
6月前
|
存储 JSON 编解码
IM通讯协议专题学习(十):初识 Thrift 序列化协议
本文将带你一起初步认识Thrift的序列化协议,包括Binary协议、Compact协议(类似于Protobuf)、JSON协议,希望能为你的通信协议格式选型带来参考。
154 1
|
网络协议
ModbusTCP协议
ModbusTCP协议
241 0
ModbusTCP协议
|
网络协议 Java
java实现TCP协议文件传输
java实现TCP协议文件传输
|
自然语言处理 Dubbo Java
doubbo 有哪些协议
doubbo 有哪些协议
87 0
java实现UDP数据传输
用java实现UDP数据传输;
|
存储 网络协议 程序员
【TCP 协议】报文格式,数据可靠传输的机制(一)
【TCP 协议】报文格式,数据可靠传输的机制(一)
301 0