grpc 安装

安装请参考官方资料-快速开始,安装gRPC需要安装Go、protocol buffer、protoc-gen-go、gRPC等。

1.安装Go,grpc是用Golang开发的,所以需要安装Go;
2.下载protocol buffer,这是gRPC的协议编译工具,写好proto之后,需要用这个编译。windows下直接下载编译好的包,然后将bin目录加到环境变量

查看版本
protoc --version

3.安装相关插件:protoc-gen-go; 编译协议需要用到该包

export GO111MODULE=on # Enable module mode
go get github.com/golang/protobuf/protoc-gen-go

4.安装gRPC包

go get google.golang.org/grpc

5.编写gRPC协议

syntax = "proto3";

package test

// 定义 Req 消息结构
message Req {
    // 类型 字段 = 标识号
    string jsonStr = 1;
}

// 定义 Res 消息结构
message Res {
    string backJson = 1;
}

// 可以定义多个服务,每个服务内可以定义多个接口
service Waiter {
    // 定义接口 (结构体可以复用)
    // 方法 (请求消息结构体) returns (返回消息结构体) {}
    rpc DoMD5 (Req) returns (Res) {}
}

6.编译协议

protoc --go_out=plugins=grpc:./test/ ./test.proto
  1. 测试demo,最好使用官方demo
  2. 可能会遇到的问题
    8.1.undefined: grpc.SupportPackageIsVersion6 和 undefined: grpc.ClientConnInterface 解决办法
    这是因为grpc的版本和protoc-gen-go版本不一致造成的。删除这两个包。安装最新的即可。参考资料
go get -u google.golang.org/grpc

export GO111MODULE=on # Enable module mode
go get github.com/golang/protobuf/protoc-gen-go

8.2.protoc-gen-go-grpc:找不到程序或不可执行(protoc-gen-go-grpc: program not found or is not executable)
没有安装protoc-gen-go,也有可能是环境变量没生效(关闭shell客户端,重新打开即可)

export GO111MODULE=on # Enable module mode
go get github.com/golang/protobuf/protoc-gen-go

各种语言使用grpc指南:
1.Go
2.Python
3.C++
4.Java

相关推荐