标签:protoc Protocol protobuf golang Mac go Buffers
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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。