文章目录[隐藏]
- 安装
- 优缺点
- 语法
protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法。
安装
官方地址:https://github.com/google/protobuf/blob/master/src/README.md
安装命令行如下:
代码语言:javascript复制 $ sudo apt-get install autoconf automake libtool curl make g unzip
$ git clone https://github.com/google/protobuf.git
$ cd protobuf
$ git submodule update --init --recursive
$ ./autogen.sh
$ ./configure
$ make
$ make check
$ sudo make install
$ sudo ldconfig # refresh shared library cache.
# 查看版本
$ protoc --version
优缺点
优点
- 性能好,二进制格式
- 跨平台支持各种语言,前后兼容好强大
缺点
- 二进制格式,一般人看不了
- 缺乏自我描述 xml是自我描述的,但是protobuf格式不是的
protobuf使用步骤
- 定义自己的数据结构格式(.pro)源文件
- 利用protobuf提供的编译器编译源文件
- 利用protobuf go的api读写信息
语法
具体可以参考:https://segmentfault.com/a/1190000007917576
- Message定义 一个message类型定义一个请求或相应的消息格式,可以包含多种类型
- Service服务 如果需要将消息类型用在rpc上面,那就需要在.proto文件定义一个rpc服务接口,protocol buffer编译器会根据所选择的不同语言生成服务接口代码。