1

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

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

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

4

2 回答 2

3

对于 Protobuf,您应该使用gRPC,这是 Google 的官方 RPC 实现。它很高效,但更重要的是,它旨在与 Protobuf 很好地集成——例如,您可以将服务定义与.proto消息类型一起写入文件中。

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

于 2016-10-25T04:31:54.000 回答
2

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

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

于 2016-10-24T14:03:22.143 回答