Protocol Buffer平滑升级原则

关于Protocol Buffer优势这里就不详细介绍了,如便于不同开发语言的交互通信,便于服务器上线的平滑升级等。
但Protocol Buffer的Message协议升级是需要注意一些细节,以下几点作为开发者需要特殊关注:
1 原有的Message重新填加新的字段信息时不允许有required字段,具体原因就是原有的版本程序无法读取对应的required字段信息。
2 再修改原有的Message时,要保证不能修改对应的标签号,就是每一个字段后面的1,2,3序列号,不允许修改。
3 原有的Message添加新的字段时,类型要保证是optional或者repeated。
4 如果Message字段已经存在required字段,重新调整时不允许删除required字段。
5 如果删除原有的Message莫个字段时,对应的字段标签号要保留不允许其他字段使用,比如说删除了 optional int server_id = 3,这个字段,这个3标签号是不允许再被其他字段使用的。
6 Protocol Buffer是支持修改对应字段的名称的,如果optional int server_id = 3修改成optional int idc_id = 3。
7 如果考虑修改Message中的类型,需要注意类型的兼容性,如int32、uint32、int64、uint64和bool等类型之间是兼容的,sint32和sint64是兼容的,string和bytes是兼容的,fixed32和sfixed32,以及fixed64和sfixed64之间是兼容的,为了保证兼容性,只能将其修改为与其原有类型兼容的类型,否则就将打破新老消息格式的兼容性。
8 字段类型上optional与repeated也是相互兼容的。
维护协议时记住以上几点即可。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值