protobuf入门学习
1、什么是protobuf
Google Protocol Buffer(简称 Protobuf)是一种轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域。
2、为什么要使用protobuf
优点:
- 足够简单
- 序列化后体积很小:消息大小只需要XML的1/10 ~ 1/3
- 解析速度快:解析速度比XML快20 ~ 100倍
- 多语言支持
- 更好的兼容性,Protobuf设计的一个原则就是要能够很好的支持向下或向上兼容
缺点:
- 不易读: Protocol Buffers是一种二进制格式,不像JSON或XML那样易于人类阅读和调试。这使得在调试和开发阶段,理解数据结构变得更加困难。
- 不支持动态模式: Protocol Buffers使用预定义的消息格式,这意味着消息结构必须在编译时定义,并且不容易支持动态模式。对于需要在运行时动态定义消息结构的场景,这可能是一个限制。
- 不是自描述的: Protocol Buffers消息本身不包含关于消息类型的信息。这意味着接收者必须在其他地方知道消息的类型,这可能会导致一些通信上的困扰,尤其是当消息结构发生变化时。
- 没有内建的标准化架构: Protocol Buffers没有像XML Schema或JSON Schema那样的内建标准化架构,用于定义消息的结构和约束。这使得在不同团队或组织中共享数据结构时可能会引发一些问题。
- 不适用于所有的数据类型: Protocol Buffers适用于结构化数据,但不太适用于包含嵌套、非结构化或自由格式文本的数据。对于这类数据,其他格式可能更加合适。
- 版本兼容性: 当消息结构发生变化时,可能会导致与旧版本的兼容性问题。虽然Protocol Buffers提供了一些版本兼容性的支持,但在某些情况下,仍然需要小心处理版本升级的问题。
3、安装protobuf
首先从GitHub下载合适的protobuf版本:Protobuf安装 ,下载解压之后把protobuf/bin目录添加到系统环境变量Path里面,最后使用命令验证是否安装成功。
4、学习并编写protobuf文件
以下是一个protobuf文件编写的示例:
1 | syntax="proto3"; //syntax="proto3";:指定使用的 Protocol Buffers 版本为 proto3。 |
- 标题: protobuf入门学习
- 作者: Olivia的小跟班
- 创建于 : 2024-02-19 20:18:51
- 更新于 : 2024-02-19 20:32:38
- 链接: https://www.youandgentleness.cn/2024/02/19/protobuf入门学习/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论