配图清新的Protobuf 编码&避坑指南
原文中文,约5300字,阅读约需13分钟。发表于: 。我们现在所有的协议、配置、数据库的表达都是以 protobuf 来进行承载的,所以我想深入总结一下 proto […]
本文介绍了Protocol Buffers(protobuf)的特点、编码原理和最佳实践,包括高效、跨语言支持、清晰的结构定义和向后兼容性等优点。同时也提到了一些缺点,如不直观、缺乏一些数据类型和需要额外的编译步骤。编码原理方面,详细介绍了message的结构、tag的编码、Varints编码、ZigZag编码以及embedded messages和repeated类型的编码。最后,给出了一些最佳实践,如字段编号的选择、保留字段的使用、不修改字段tag编号和字段类型、不使用required关键字等。