【Go微服务】一文带你玩转ProtoBuf
本文为掘金社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究!
前言
在网络通信和通用数据交换等应用场景中经常使用的技术是 JSON 或 XML,在微服务架构中通常使用另外一个数据交换的协议的工具ProtoBuf。
ProtoBuf也是我们做微服务开发,进行Go进阶实战中,必知必会的知道点。
今天就开始第一章内容:《一文带你玩转ProtoBuf》
5分钟入门
1.1 简介
你可能不知道ProtoBuf,但一定知道json或者xml,从一定意义上来说他们的作用是一样的。
ProtoBuf全称:protocol buffers,直译过来是:“协议缓冲区”,是一种与语言无关、与平台无关的可扩展机制,用于序列化结构化数据。
和json\xml最大的区别是:json\xml都是基于文本格式,ProtoBuf是二进制格式。
ProtoBuf相比于json\XML,更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。
我们只需要定义一次数据结构,就可以使用ProtoBuf生成源代码,轻松搞定在各种数据流和各种语言中写入、读取结构化数据。
1.2 安装
建议大家使用主流版本v3,这是官网下载地址:github.com/protocolbuf…
注意,不同的电脑系统安装包是不一样的:
小技巧:Mac查看自己的芯片类型点击左上角的苹果图标,再点击关于本机,就可以查看了。
比如,我的处理器芯片是intel的,下载安装包之后是这样的:
bin目录下的protoc是ProtoBuf的工具集,下文会重点介绍它的使用。
注意:我们需要将下载得到的可执行文件protoc所在的 bin 目录加到我们电脑的环境变量中。
Mac安装小技巧
如果你的Mac安装了brew,
