Protocol Buffers

语言无关的接口与数据序列化格式,通过字段编号保证向前向后兼容:新增字段用新编号,废弃字段保留编号与名称(reserved),删除编号不复用。

示例

示例
message Order {
  string id = 1;
  int64 total_cents = 2;
  reserved 3;            // 已废弃字段编号
  reserved "legacy_no";  // 已废弃字段名
}
兼容规则要写进团队规范:改类型(如 int32 改 string)与改语义都可能导致解析错乱或静默错误。

易错点

  • 复用已废弃字段编号,新旧数据解析互相污染
  • 可选字段被赋予必填语义,旧客户端消息被拒

数据来源与参考

  • Protocol Buffers 语言指南(protobuf.dev)
  • Google API 设计指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌