Protocol Buffers:数据世界的秘语之书,手把手教学环境搭建
文章目录
- 前言
- 一、秘语之源:何为 Protocol Buffers?
- 二、铸钥之具:搭建 protobuf 环境
- 2.1 protobuf在windows下的安装
- 2.1.1 下载protobuf编译器
- 2.1.2 配置环境变量
- 2.1.3 检查是否配置成功
- 2.2 protobuf在Linux下的安装
- 2.2.1 下载protobuf
- 2.2.2 安装protobuf
- 2.2.3 检查是否配置成功
- 小结
前言
当数据在网络间穿梭、在磁盘中沉睡时,它需要一种 “通用语言”—— 既能被不同语言的程序读懂,又能轻巧地压缩体积,避免冗余的 “絮语”。谷歌于 2001 年打造的 Protocol Buffers
,便是这样一套 “秘语体系”:它用简洁的语法定义数据结构,以高效的二进制格式序列化数据,成为分布式系统、微服务通信中的 “信使密函”。
本文将带你解锁这门 “秘语”:从认识它的本质,到亲手书写 “秘语契约”,再到让程序读懂并传递这些 “密函”,一步步掌握
protobuf
的核心入门技能。
一、秘语之源:何为 Protocol Buffers?
protobuf
并非编程语言,也不是通信协议,而是一套数据序列化框架
—— 它的核心作用是将 “结构化数据”(比如用户信息、订单详情)转化为紧凑的二进制字节流(“秘语原文”),也能将字节流还原为原始数据(“解密”)。
与我们熟悉的 JSON
、XML
相比,它的 “秘语优势”
尤为突出:
- 更轻盈的体积:二进制格式比
JSON
的文本格式节省 30%-50% 的空间,如同将一封散文信压缩成绝句,更适合网络传输; - 更快的解析速度:
JSON
需要逐字符解析文本,而protobuf
通过预定义的结构直接读取二进制,解析效率提升 5-10 倍; - 更强的跨语言性:支持
Java、Python、Go、C++
等数十种语言,只要遵循同一套 “秘语规则”,Go
程序生成的 “密函” 能被 Python 程序精准解密; - 更好的兼容性:当数据结构需要升级(比如新增字段)时,旧版本程序能兼容读取新版本数据,无需中断服务 —— 如同秘语体系新增了词汇,旧信使仍能读懂核心信息。
二、铸钥之具:搭建 protobuf 环境
要书写和解析 “数据秘语”,我们首先需要一把 “铸钥工具”——protobuf 编译器
(protoc),它能将我们定义的 “秘语规则”(.proto 文件)转化为各语言可调用的代码(比如 Python 的.py 文件、Java 的.java 文件)。
2.1 protobuf在windows下的安装
2.1.1 下载protobuf编译器
下载地址:官网链接
下载之后将压缩包解压到本地⽬录下。解压后的⽂件内包含 bin
、include
⽂件,以及⼀个readme.txt
。
2.1.2 配置环境变量
把解压后⽂件中的bin
⽬录配置到系统环境变量的Path
中去
- 首先输入环境变量进行检索,找到path之后点击编辑
- 将复制的bin目录地址新建粘贴后确定
2.1.3 检查是否配置成功
-
打开cmd,输入
protoc --version
-
出现此结果则代表已经安装成功
2.2 protobuf在Linux下的安装
2.2.1 下载protobuf
下载 ProtoBuf
前⼀定要安装依赖库:
autoconf automake libtool curl make g++ unzip
如未安装,安装命令如下
Ubuntu 用户选择:
sudo apt-get install autoconf automake libtool curl make g++ unzip -y
CentOS 用户选择:
sudo yum install autoconf automake libtool curl make gcc-c++ unzip
ProtoBuf
下载地址
可以不⽤下载最新版本,具体的下载根据⾃⼰电脑情况选择。
• 如果要在 C++
下使⽤ ProtoBuf
,可以选择cpp.zip
;
• 如果要在 JAVA
下使⽤ ProtoBuf
,可以选择 java.zip
;
• 其他语⾔选择对应的链接即可。
• 希望⽀持全部语⾔,选择 all.zip
。
在这⾥我们希望⽀持全部语⾔,所以选择 protobuf-all-21.11.zip
,右键将下载链接复制出来。
下载命令:
wget https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all-21.11.zip
- 下载完成后,解压zip包:
unzip protobuf-all-21.11.zip
- 解压完成后,会生成相应文件,进入文件
cd protobuf-21.11
- 其中具体内容如下
2.2.2 安装protobuf
进入解压好的文件,执行以下命令
- 首先执行
autogen.sh
,但如果下载的具体的某一门语音,不需要执行这一步
./autogen.sh
- 第二步执行
configure
./configure
再依次执行
- make (大约需要执行15分钟)
- make check (大约需要执行15分钟)
- sudo make install
如果出现这种报错,属于正常情况
原因是test的模块⾥⾯有⾮常多的测试⽤例,这些⽤例对服务器环境要求特别严格,需要增⼤下swap分区
,具体操作可参考:
扩大教程(建议可以先扩⼤3G,再执⾏ make check
。如果还是报错,再扩⼤到5G重新执⾏ make check
)
执⾏ make check
后 ,出现以下内容就可以执⾏ sudo make install
此时就可以正常使用protobuf了
2.2.3 检查是否配置成功
-
需要先
[source /etc/profile]
更新配置文件资源。 -
输入
protoc --version
查看版本,有显示说明安装成功
小结
本篇关于protobuf开发环境搭建的介绍就暂告段落啦,希望能对大家的学习产生帮助,欢迎各位佬前来支持斧正!!!