Protocol Buffers概述及Mac下安装配置
作者:互联网
1、概述
现在的网络应用都是前后端分离的,数据传输方式有:json和xml两种格式。现在又多了一种数据传输方式,就是google开发的Protocol Buffers(Protocol buffers 是语言中立、平台中立、可扩展的结构化数据序列化机制,就像 XML,但是它更小、更快、更简单。你只需定义一次数据的结构化方式,然后就可以使用特殊生成的源代码轻松地将结构化数据写入和读取各种数据流,支持各种语言)。在分布式应用或者微服务架构中,各个服务之间通常使用json
或者xml
结构数据进行通信,通常情况下,是没什么问题的,但是在高性能和大数据通信的系统当中,如果有办法可以压缩数据量,提高传输效率,显然会给用户带来更快更流畅的体验。
也就是现在主流的数据传输方式有三种:
- JSON
- xml
- Protocol Buffers
存在即是合理,Protocol Buffers为什么会出现呢?回答即是性能。一条消息数据,用protobuf序列化后的大小是json的10分之一,是xml格式的20分之一,但是性能却是它们的5~100倍。
2、Mac下安装配置Protobuf
1)github下载指定版本二进制文件
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.15.0/protoc-3.15.0-osx-x86_64.zip
2)解压二进制文件文件并将protoc二进制文件拷贝到/usr/local/bin目录下
unzip protoc-3.15.0-osx-x86_64.zip cp protoc-3.15.0-osx-x86_64/bin/protoc /usr/local/bin/
3)安装好之后,查看是否安装成功
*** Desktop$ protoc --version libprotoc 3.15.0
4)安装protobuf的golang插件
安装protobuf包,使用protobuf需要先安装对应的包
go get -u -v github.com/golang/protobuf/proto
因为protoc没有内置go生成器,想实现.proto->.go的转换的话还需要安装protobuf的golang编译器插件protoc-gen-go,用于生成go文件
go get -u -v github.com/golang/protobuf/protoc-gen-go
3、Goland中配置protobuf插件
1)安装protocol插件
2)这时候Goland就可以解析proto语法了
至此,本地就安装好了Protocol Buffers及Protocol Buffers的golang插件,后面在golang项目中就可以使用Protocol Buffers进行数据传输了。
标签:protoc,Protocol,protobuf,golang,Mac,go,Buffers 来源: https://www.cnblogs.com/zhangmingcheng/p/16313728.html