ProtocolBuffers / Thrift是否适合数据中心之间的通信和消息传递?

时间:2012-11-21 02:59:51

标签: protocols soa thrift

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

1 个答案:

答案 0 :(得分:0)

我不熟悉Apache Thrift,但我认为你误解了Protocol Buffers的目的。 Protocol Buffers是一种数据序列化格式,很像JSON或XML;它没有指定或实现任何特定的网络传输(您可以通过TCP或UDP,或者将其保存到磁盘,甚至可以通过HTTP传输它)。甚至协议缓冲区'services feature也只为您生成接口和存根实现;由开发人员来实现一种来回发送消息的方法。

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