1

我们目前在多个地理区域拥有数据中心,每个数据中心都托管需要相互通信的不同应用程序和服务。目前我们正在使用 http 进行通信,并且出于性能原因想探索其他协议。可以使用 ProtocolBuffers 或 Thrift 在地理区域之间通过 tcp/ip 进行流量吗?如果是这样,延迟是否会扼杀 ProtocolBuffers 或 Thrift 提供的任何性能提升?还有其他合适的选择吗?

4

1 回答 1

0

我不熟悉 Apache Thrift,但我认为您误解了 Protocol Buffers 的用途。Protocol Buffers 是一种数据序列化格式,很像 JSON 或 XML;它没有指定或实现任何特定的网络传输(您可以将它放在 TCP 或 UDP 上,或者将它保存到磁盘,或者如果您愿意,甚至可以通过 HTTP 传输它)。甚至 Protocol Buffers 的服务功能也只是为您生成接口和存根实现;由开发人员来实现一种来回发送消息的方法。

请参阅Protocol Buffers 开发人员指南以了解有关 Protocol Buffers 的实际含义以及它如何使您受益的更多信息。在您的情况下(替换基于 HTTP 的协议),Protocol Buffers 可能会减少您现在可能发送的 XML 或 JSON 中固有的一些大小开销,因为它不会在人类可读性上浪费字节。

于 2012-11-21T03:13:43.143 回答