2016-10-24 130 views
0

有几个库用于数据序列化,如MessagePack,Protocol Buffers等。什么是MessagePack /协议缓冲区的传输协议?

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

对我来说并没有太大的意义,使用REST,因为HTTP具有开销。因此,如果我们决定优化速度和使用,让我们说ProtoBuff,似乎是不合逻辑的,只是中途只优化序列化而不优化传输。

回答

1

对于Protobuf,您应该使用gRPC,这是Google的官方RPC实现。它的效率很高,但更重要的是,它的设计与Protobuf完美结合 - 例如你可以在你的消息类型中编写你的服务定义在.proto文件中。

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

1

协议缓冲区只是常见的序列化格式。不管你想要什么,你都可以运送它们

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