什么是ProtoBuf?
一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。
它可以作为RabbitMQ的Message的数据格式进行传输,由于是结构化的数据,这样就极大的方便了Consumer的数据高效处理。当然了你可能说使用XML不也可以吗?与XML相比,ProtoBuf有以下优势:
- 简单
- size小了3-10倍
- 速度快乐20-100倍
- 易于编程
- 减小了语义的歧义
当然了,的确还有很多类似的技术,比如JSON,Thrift等等,和他们相比,ProtoBuf的优势或者劣势在哪里?简单说来,ProtoBuf就是简单,快。以测试为证:项目 thrift-protobuf-compare 比较了这些类似的技术,下图 显示了该项目的一项测试结果。

ProtoBuf是一种轻量级的结构化数据序列化工具,适用于数据存储和RPC数据交换,提供C++、Java、Python等API。在RabbitMQ中作为Message数据格式,相比XML,ProtoBuf更简洁、速度快3-10倍且易于编程,减少了语义歧义。尽管有JSON和Thrift等替代方案,ProtoBuf以简单和速度优势被广泛应用,如在Hadoop中的使用。有关更多详情和性能比较,可参考相关资源。
最低0.47元/天 解锁文章
934

被折叠的 条评论
为什么被折叠?



