加载中...
Protocol Buffers(简称 protobuf)是 Google 开发的一种语言无关、平台无关的结构化数据序列化格式。开发者用 proto 文件定义数据结构,再由编译器生成多语言代码,序列化后的二进制体积小、解析快,广泛用于通信与存储。

| 类型 | 序列化格式 |
| 开发者 | |
| 开源年份 | 2008 年 |
| 当前语法 | proto3 |
| 编码 | 二进制 |
| 许可证 | BSD |
Protocol Buffers(简称 protobuf)是由 Google 开发的一种语言无关、平台无关的可扩展结构化数据序列化机制。开发者通过 proto 文件描述数据的结构,再借助编译器生成目标语言的读写代码,实现高效的数据编码与交换。
protobuf 最初于 2000 年代初在 Google 内部诞生,用于替代基于 XML 的数据交换,2008 年对外开源,采用 BSD 许可证。它的设计目标是比 XML、JSON 更小、更快、更简单。经过多个版本演进,目前广泛使用的是 proto3 语法,并成为 gRPC 的默认序列化格式。
protobuf 常用于服务间通信的消息定义,尤其是与 gRPC 搭配;也用于配置文件、日志、缓存与持久化存储等对体积和速度敏感的场景。许多大型分布式系统以它作为统一的数据契约,在跨语言的组件之间可靠地传递结构化数据。
问:protobuf 与 JSON 该怎么选?答:追求体积小、速度快、强类型契约选 protobuf;需要人类可读、调试方便或与浏览器直接交互时,JSON 更合适。
问:为什么字段要写编号?答:编号是编码时的字段标识,一旦使用不应更改或复用,它是实现向前向后兼容的关键。

| 类型 | 序列化格式 |
| 开发者 | |
| 开源年份 | 2008 年 |
| 当前语法 | proto3 |
| 编码 | 二进制 |
| 许可证 | BSD |
登录 后参与讨论
暂无讨论,来发表第一条评论吧