1、环境
- 操作系统:ubuntu 18.04
- go版本:1.14.2
- docker版本:19.03.1
- docker-compose版本:1.24.0
2、gRPC环境安装
# 启用 module模式
GO111MODULE="on"
# 配置 goproxy
go env -w GOPROXY="https://goproxy.io,https://goproxy.cn,direct"
# 安装 grpc
$ go get -u google.golang.org/grpc
3、安装 Protocol Buffers v3
$ wget https://github.com/protocolbuffers/protobuf/releases/download/v3.11.4/protobuf-all-3.11.4.tar.gz
$ sudo tar -zxvf protobuf-all-3.11.4.tar.gz -C /usr/local
$ cd /usr/local/protobuf-3.11.4/
$ sudo ./configure
$ sudo make
$ sudo make install
$ sudo ldconfig
检查是否安装成功
$ protoc --version
libprotoc 3.11.4
4、安装插件 protoc-gen-go、protoc-gen-grpc-gateway、protoc-gen-swagger
go get -u github.com/golang/protobuf/protoc-gen-go
go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger
5、编写protot文件并编译
5.1 生成swagger API 文档,需要用到google/api
中http.proto
、annotations.proto
这两个文件,先拷贝到项目目录下
# 进入项目的根目录
$ cd /path/to/project
$ mkdir -p ./proto/google/api
$ cp -r $GOPATH/pkg/mod/github.com/grp