什么是MessagePack / Protocol Buffers的传输协议?

时间:2016-10-24 05:06:48

标签: protocol-buffers msgpack messagepack

有几个用于数据序列化的库,如MessagePack,Protocol Buffers等。

但是什么应该是传输协议?它应该是HTTP REST还是其他任何?

对我来说,使用REST没有多大意义,因为HTTP有开销。所以,如果我们决定优化速度和使用,那么让我们说ProtoBuff看起来是不合逻辑的,只进行一半并且只优化序列化而不优化传输。

2 个答案:

答案 0 :(得分:2)

协议缓冲区只是常见的序列化格式。您可以随意运输它们。

您可以通过tcp甚至udp套接字发送原始字节。但是您的应用程序使用http也可能是合理的。如果有意义,你甚至可以将它们封装在html / xml中。

答案 1 :(得分:2)

对于Protobuf,您应该使用gRPC,这是Google的官方RPC实施。这是有效的,但更重要的是,它旨在与Protobuf良好集成 - 例如您可以在消息类型旁边的.proto文件中编写服务定义。

与许多序列化格式配对良好的另一种常用传输是ZeroMQ