安装grpc
在你的项目目录下执行以下命令,获取 gRPC 作为项目依赖。
go get google.golang.org/grpc@latest
安装Protocol Buffers v3
安装用于生成gRPC服务代码的协议编译器,https://github.com/google/protobuf/releases
其中
- bin目录下的protoc是可执行文件
- include 目录下的是 google 定义的.proto文件,我们import "google/protobuf/timestamp.proto"就是从此处导入。
我们需要将下载得到的可执行文件protoc所在的 bin 目录加到我们电脑的环境变量中。
安装插件
我使用的是go语言开发,这里执行下面的命令安装protoc
的Go插件
安装go语言插件:
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
该插件会根据.proto文件生成一个后缀为.pb.go的文件,包含所有.proto文件中定义的类型及其序列化方法。
安装grpc插件:
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2
该插件会生成一个后缀为_grpc.pb.go的文件,其中包含:
- 一种接口类型(或存根) ,供客户端调用的服务方法。
- 服务器要实现的接口类型。
上述命令会默认将插件安装到 GOPATH/bin,为了protoc编译器能找到这些插件,请确保你的GOPATH/bin在环境变量中。
检查
依次执行以下命令检查一下是否开发环境都准备完毕。
3. 确认 protoc 安装完成。
❯ protoc --version
libprotoc 3.20.1
- 确认 protoc-gen-go 安装完成。
❯ protoc-gen-go --version
protoc-gen-go v1.28.0
如果这里提示protoc-gen-go不是可执行的程序,请确保你的 GOPATH 下的 bin 目录在你电脑的环境变量中。
- 确认 protoc-gen-go-grpc 安装完成。
❯ protoc-gen-go-grpc --version
protoc-gen-go-grpc 1.2.0
如果这里提示protoc-gen-go-grpc不是可执行的程序,请确保你的 GOPATH 下的 bin 目录在你电脑的环境变量中。
grpc的开发方式
- 编写
.proto
文件定义服务 - 生成指定语言的代码
syntax = "proto3"; // 版本声明,使用Protocol Buffers v3版本
option go_package = "xx"; // 指定生成的Go代码在你项目中的导入路径
package pb; // 包名
// 定义服务
service Greeter {
// SayHello 方法
rpc SayHello (HelloRequest) returns (HelloResponse) {
}