为什么使用protobuf?
protobuf常使用于作为C/S之间的数据传输的序列化工具,可以使用protobuf实现rpc框架的通信传输。
对于App网络传输协议,我们比较常见的、可选的,有三种,分别是json/xml/protobuf,我们先分别来看看这三种格式的优缺点:
三种格式优点:
- json优点就是较XML格式更加小巧,传输效率较xml提高了很多,可读性还不错。
- xml优点就是可读性强,解析方便。
- protobuf优点就是传输效率快(据说在数据量大的时候,传输效率比xml和json快10-20倍),序列化后体积相比Json和XML很小,支持跨平台多语言,消息格式升级和兼容性还不错,序列化反序列化速度很快。
三种格式缺点:
- json缺点就是传输效率也不是特别高(比xml快,但比protobuf要慢很多)。
- xml缺点就是效率不高,资源消耗过大。
- protobuf缺点就是使用不太方便。
在一个需要大量的数据传输的场景中,如果数据量很大,那么选择protobuf可以明显的减少数据量,减少网络IO,从而减少网络传输所消耗的时间。考虑到