2016-10-24 160 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中。