现在项目中使用 protobuf 作为消息体,多个团队开发多个服务,有些是 go 有些是 java ,目前的.proto 文件在每个仓库里都有一份,维护起来很痛苦,有没有什么好的方案呢,github 的 submodules 能解决这个问题吗
对新增的 API 或者字段没有需求的情况下,为啥要更新 proto... 如果整个经常需要所有引用方更新 proto ,那先问一下改 proto 的人为什么不能做到前后兼容。 所以,直接复制一份也没啥问题,你现在的痛苦不是“复制 proto”带来的
每个服务应该要有一个独立的 proto 仓库。比如服务 1 有一个 proto1 的仓库,专门存放生成好的 pb 代码,如果服务 2 需要调用服务 1 就 go get proto1 就可以了。这样子所有的服务业务仓库都不会有 proto 代码。