protobuf

python 寻梦 3年前 (2021-08-27) 540次浏览 0个评论 扫描二维码
文章目录[隐藏]

 protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法。

安装

官方地址:https://github.com/google/protobuf/blob/master/src/README.md

安装命令行如下:

 $ 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使用步骤

  1. 定义自己的数据结构格式(.pro)源文件
  2. 利用protobuf提供的编译器编译源文件
  3. 利用protobuf go的api读写信息

语法

具体可以参考:https://segmentfault.com/a/1190000007917576

  • Message定义 一个message类型定义一个请求或相应的消息格式,可以包含多种类型
  • Service服务 如果需要将消息类型用在rpc上面,那就需要在.proto文件定义一个rpc服务接口,protocol buffer编译器会根据所选择的不同语言生成服务接口代码。

喜欢 (1)
[支付宝扫码,感谢支持]
分享 (0)
关于作者:

您必须 登录 才能发表评论!