标签: protocol-buffers msgpack messagepack
有几个用于数据序列化的库,如MessagePack,Protocol Buffers等。
但是什么应该是传输协议?它应该是HTTP REST还是其他任何?
对我来说,使用REST没有多大意义,因为HTTP有开销。所以,如果我们决定优化速度和使用,那么让我们说ProtoBuff看起来是不合逻辑的,只进行一半并且只优化序列化而不优化传输。
答案 0 :(得分:2)
协议缓冲区只是常见的序列化格式。您可以随意运输它们。
您可以通过tcp甚至udp套接字发送原始字节。但是您的应用程序使用http也可能是合理的。如果有意义,你甚至可以将它们封装在html / xml中。
答案 1 :(得分:2)
对于Protobuf,您应该使用gRPC,这是Google的官方RPC实施。这是有效的,但更重要的是,它旨在与Protobuf良好集成 - 例如您可以在消息类型旁边的.proto文件中编写服务定义。
.proto
与许多序列化格式配对良好的另一种常用传输是ZeroMQ。