使用golang进行rpc开发之三使用grpc进行开发
前两篇文章介绍了在golang中使用原生的rpc和使用json做为序列化工具进行rpc开发,但是它们都有着各自的缺点,原生的rpc不能跨语言,json在序列化和反序列化时效率又不高,所以本文我们再来学习一下grpc的使用,它完美的解决了它们的缺点
- 安装protoc
https://github.com/protocolbuffers/protobuf/releases
将下载的可执行文件放到对应系统的环境变量中,windows 中可以将protoc 目录添加到环境变量,mac 中可以将protoc 文件放到 /usr/local/bin
目录下,输入 protoc --version
来验证一下是否执行成功。
-
安装对应语言的插件, golang 中为
安装成功之后会在$GOPATH/bin/
目录下生成一个protoc-gen-go 文件 -
编写 proto 文件
proto 文件与go 中的结构体一一对应,如果我们在go 中定义一个User的结构体