• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

protobuf,protoc-gen-go,grpc 的兼容问题 v1

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

protobuf,protoc-gen-go,grpc 的兼容问题

并不是大版本号对应上就是兼容的。

也并不是大版本号兼容小版本号的(向前兼容是不存在的)

生成的 *.pb.go 中奇怪的组合:

github.com/golang/protobuf/proto/proto3_proto/proto3.pb.go

 

为什么看图序号1,因为是 syntax = proto3 生成的

而图序号2是 ProtoPackageIsVersion2,所以这里的 2 与 3 是可以正常工作的,并不是我们常识的认识的兼容逻辑。

而:“please upgrade the proto package“,更是错的,protobuf 3 和 protobuf 2 是不兼容的,所以升级后很可能是不能正常工作的。

所以协议 protobuf 2 想要升级是需要一定修改的。修改成 protobuf 3 。这样看代码里这样写很误导人啊。

syntax = proto3

protobuf 3.6.1

protoc-gen-go v1.2.0

ProtoPackageIsVersion2

syntax = proto3

protobuf 3.6.1

protoc-gen-go latest

( 2020-11-11 )

ProtoPackageIsVersion3

以上更全面的规则还没有总结出来。

未完。

相关:https://blog.csdn.net/wide288/article/details/109678340

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go获取Windows下的窗口发布时间:2022-07-10
下一篇:
容器中某Go服务GC停顿经常超过100ms排查发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap