Probobuf 原理介绍

主要参考博文《https://www.jianshu.com/p/ec39f79c0412》

主要优点:

1. 序列化速度快,压缩体积小

    1.1 数据紧凑,使用 tag+value 方式,tag为字段编号

    1.2 剔除无效字段,未设置字段不会传输(proto3 之后全部字段都是optional)

    1.3 传输字段采用特殊规则编码,体积更小(varints & zigzag)

    1.4 由于序列格式是很归整,反序列化速度非常快(基本通过位移操作即可)

2. 兼容,向后兼容,向前兼容

    老的协议发给新的,新的会使用默认值

    新的写协议发给老的,老的会忽略新字段

猜你喜欢

转载自ballenlee.iteye.com/blog/2413567