一、简介
protocol buffers是google推出的一种数据序列化格式,简称protobuf。
具有以下优点
- 支持多种编程语言
- 序列化数据体积小
- 反序列化速度快
- 序列化和反序列化代码自动生成
同时,也有以下缺点:
- 可读性差,缺乏自描述性
在项目 thrift-protobuf-compare中,对各种序列化方式做了全方位的对比,对比结果中,protobuf各项都处于第5左右(共21个),综合性能较好。
下图(左JSON,右Protobuf)是同样的一段数据,用json和protobuf分别描述(仅表示描述方式,并不是最终生成的序列化数据)。可以看出,protobuf是把json中的key去掉了,用数字代替key,从而实现了减小了序列化后的数据大小。而protobuf反序列化过程中,无需做字符串解析,所以速度也很快,综合性能优于json很多。
二、使用步骤
protobuf使用,主要