分类:proto| 发布时间:2025-01-14 07:47:00
原文: Proto Limits
包括了 Proto 模式中支持的元素数量的限制。
本主题记录了 Proto 模式中支持的元素数量(字段、枚举值等)的限制。
这些限制是由许多工程师发现的,但并不全面,并且可能在某些方面存在错误或过时的情况。 欢迎您在工作中发现新的限制时,将其添加到本文档中,以帮助其他工程师。
Message 中包含只有标量字段(比如:bool)
空消息通过添加单个字段(例如布尔值)进行扩展
proto3不支持扩展。
要测试此限制,请创建一个包含超过上限数量字段的 Proto 消息,然后使用 Java Proto 规则进行编译。 此限制是由 Java 虚拟机(JVM)规范所规定的。
To test this limitation, create a proto message with more than the upper bound number of fields and compile using a Java proto rule. The limit comes from JVM specs.
在 Java 中,最低限制约为 1700 个值。 其他编程语言的限制可能不同。
任何以序列化形式存在的 Proto 消息都必须小于 2GiB,因为这是所有实现都支持的最大大小。 建议对请求和响应的大小进行限制。
如果你尝试反序列化的消息的深度超过了限制,那么反序列化将会失败。