Protocol buffers Google protobuf:如果我从一边添加字段,它会破坏另一边吗?

Protocol buffers Google protobuf:如果我从一边添加字段,它会破坏另一边吗?,protocol-buffers,Protocol Buffers,我有两个微型服务。第一个服务使用googleprotobuf()对消息进行编码,并发送到第二个服务。第二个解码此消息并使用数据 现在我需要向这个消息对象添加一个字段。如果我只在一边做,它会破坏另一边吗 例如,如果我向json添加一些内容,这将不会破坏任何内容。谷歌protobuf是否也一样 来自文档(参见此处:): 您可以在不破坏向后兼容性的情况下向消息格式添加新字段;解析时,旧的二进制文件会忽略新字段。因此,如果您有一个使用协议缓冲区作为数据格式的通信协议,那么您可以扩展协议,而不必担心破坏现

我有两个微型服务。第一个服务使用
googleprotobuf
()对消息进行编码,并发送到第二个服务。第二个解码此消息并使用数据

现在我需要向这个消息对象添加一个字段。如果我只在一边做,它会破坏另一边吗

例如,如果我向
json
添加一些内容,这将不会破坏任何内容。谷歌protobuf是否也一样

来自文档(参见此处:):

您可以在不破坏向后兼容性的情况下向消息格式添加新字段;解析时,旧的二进制文件会忽略新字段。因此,如果您有一个使用协议缓冲区作为数据格式的通信协议,那么您可以扩展协议,而不必担心破坏现有代码


引自Goole Protobuf关于扩展Protobuf的文档,扩展Protobuf的内容如下:

在您的情况下,如果您在一方的更改没有违反上述任何规则,它将不会破坏另一方

you must not change the tag numbers of any existing fields.
you must not add or delete any required fields.
you may delete optional or repeated fields.
you may add new optional or repeated fields but you must use fresh tag numbers (i.e. tag numbers that were never used in this protocol buffer, not even by deleted fields).