grpc流程
1. 定义 proto文件
//proto3 版本的
// go 包生成的目录
go_package = "./;proto"
protoc -I=. hello.proto --go_out=plugins=grpc:.
protoc -I=. proto 文件 --go_out=plugins=grpc:.
- 编译 proto文件遇到的问题
proto protoc -I=. —go_out=plugins=grpc,paths=source_relative:gen/go trip.proto —go_out: protoc-gen-go: plugins are not supported; use ‘protoc —go-grpc_out=…’ to generate gRPC
go get github.com/golang/protobuf/protoc-gen-go
3. 编写服务
- 实现 定义的服务 service
- 使用到了定义的request/response/常量/结构体来完成服务
4. 编写 grpc-gateway 实现 json-protobuf 交互
- 编写 gateway 的yaml 文件
5. 生成 gateway 服务文件
- protoc 运行 yaml 文件生成 go 文件
- go 文件包含定义暴露到外部的方法