Protocol Buffers:数据世界的秘语之书,手把手教学环境搭建

发布于:2025-09-05 ⋅ 阅读:(20) ⋅ 点赞:(0)

在这里插入图片描述

前言

当数据在网络间穿梭、在磁盘中沉睡时,它需要一种 “通用语言”—— 既能被不同语言的程序读懂,又能轻巧地压缩体积,避免冗余的 “絮语”。谷歌于 2001 年打造的 Protocol Buffers,便是这样一套 “秘语体系”:它用简洁的语法定义数据结构,以高效的二进制格式序列化数据,成为分布式系统、微服务通信中的 “信使密函”。

本文将带你解锁这门 “秘语”:从认识它的本质,到亲手书写 “秘语契约”,再到让程序读懂并传递这些 “密函”,一步步掌握 protobuf的核心入门技能。

一、秘语之源:何为 Protocol Buffers?

protobuf 并非编程语言,也不是通信协议,而是一套数据序列化框架—— 它的核心作用是将 “结构化数据”(比如用户信息、订单详情)转化为紧凑的二进制字节流(“秘语原文”),也能将字节流还原为原始数据(“解密”)。

与我们熟悉的 JSONXML 相比,它的 “秘语优势” 尤为突出:

  • 更轻盈的体积:二进制格式比 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编译器

下载地址:官网链接

在这里插入图片描述

下载之后将压缩包解压到本地⽬录下。解压后的⽂件内包含 bininclude⽂件,以及⼀个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开发环境搭建的介绍就暂告段落啦,希望能对大家的学习产生帮助,欢迎各位佬前来支持斧正!!!

在这里插入图片描述