内容简介:我们删除了 proto3 中的 required 字段,因为 required 字段通常被认为是有害的并且违反了 protobuf 的兼容性语义。使用 protobuf 的整个想法是,它允许您添加/删除协议定义中的字段,同时仍然完全向前/向后兼容较新/较旧的二进制文件。 >required 字段打破了这一点。您永远不能安全地向
我们删除了 proto3 中的 required 字段,因为 required 字段通常被认为是有害的并且违反了 protobuf 的兼容性语义。
使用 protobuf 的整个想法是,它允许您添加/删除协议定义中的字段,同时仍然完全向前/向后兼容较新/较旧的二进制文件。 >required 字段打破了这一点。
您永远不能安全地向 .proto 定义添加 required 字段,也不能安全地删除现有的 required 字段,因为这两个操作都会破坏 wire 兼容性。
例如,如果向 .proto 定义添加 required 字段,则使用旧定义构建的二进制文件将无法解析使用旧定义序列化的数据,因为旧数据中不存在 required 字段。
在一个复杂的系统中, .proto 定义在系统的许多不同组件中广泛共享,添加/删除 required 字段可以轻松地降低系统的多个部分。
我们已经多次看到由此造成的生产问题,并且 Google 内部几乎禁止任何人添加/删除 required 字段。 >出于这个原因,我们完全删除了 proto3 中的 required 字段。
参考资料
- why messge type remove ‘required,optional’?
- Why required and optional is removed in Protocol Buffers 3
茶歇驿站
一个可以让你停下来看一看,在茶歇之余给你帮助的小站,这里的内容主要是后端技术,个人管理,团队管理,以及其他个人杂想。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
免费:商业的未来
Chris Anderson / 中信出版集团 / 2015-10-1 / 35.40
《免费》,这是一个商业模式不断被颠覆、被改写的时代。一种商业模式既可以统摄未来市场,也可以挤垮当前市场——在我们这个现代经济社会里,这并不是一件不可能的事情。“免费”就是这样的一种商业模式,它代表了互联网时代的商业未来。 “免费”商业模式是一种建立在以电脑字节为基础上的经济学,而非过去建立在物理原子基础上的经济学。在原子经济中,随着时间的推移,我们周围的物品都在逐渐升值。但是在字节经济的网络......一起来看看 《免费:商业的未来》 这本书的介绍吧!
HTML 压缩/解压工具
在线压缩/解压 HTML 代码
html转js在线工具
html转js在线工具