工作需要 Protobuf 进行序列化传输,这里记录一下。
Protobuf 是google开发的一种用于高效存储和读取结构化数据的工具。类似于Json,xml等用来重复的记录结构化的数据,Protobuf 序列化和反序列化的性能非常高,而且压缩比Json等高很多。
功能主要是使用 Protobuf 生成一个.proto 文件,再编译成相应语言代码,调用即可。
Centos7.3,Scala + Java 环境。这里简单用Scala实现以下,事实上Scala 有 ScalaPB,是 Protocol buffer 的编译器插件,可以为 Protobuf 自动生成Scala case类、解析器和序列化。
安装
最近版本3.9.2 下载源码 Source code
查看删除旧版本位置
查看版本
cd /usr/local/protobuf-3.9.2/bin
./protoc --version
删除
whereis protoc
# 如果存在删除即可
rm /usr/local/bin/protoc
安装依赖库
# 用到的库
yum install -y unzip autoconf automake libtool make g