为什么选Thrift

RPC涉及三个角色:客户端、协议和服务器端。

协议包括数据传输协议和数据编解码(序列化和反序列化)格式。传输协议一般是TCP。数据编码解码格式常见的有protocol buffers、avro、json、xml、二进制json、message pack等等。

目前的使用场景里,客户端和服务器端只需要支持java一种开发语言即可。

对服务器端的要求:高并发、低延迟。


可供选择的官方RPC完整框架,只有thrift和message pack。Message pack以前用过,其他语言版不了解,java版服务器端和客户端就是悲剧,源代码里到处是todo,对数据包的处理有问题,会丢数据。

只剩thrift可选了。数据编解码协议也不纠结,就用thrift自己的compact协议。

你可能感兴趣的:(为什么选Thrift)