rpc使用
这里注意几个东西
Goku API Gateway
docker eolinker/apinto-gateway
这个是go的网关
然后这个是新的go zero 的框架
https://go-zero.dev/cn/
grpc服务注册
那麼首先是grpc的使用
來安裝go rpc(Windows)
https://github.com/protocolbuffers/protobuf/releases
在assets中找到win64版本,我是在Windows下編譯
分別是兩個部分,rpc接口,rpcServer部分(這是可執行程序,所以是install)
下载编译的插件
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
換成國內的鏡像源
(如果无法下载go env -w GOPROXY= https://goproxy.cn,direct )
打开C:\Users\WANGJUN\go\bin 就是C盘用户目录
将插件添加环境目录下 windows环境目录(设置关于,高级,环境变量,系统PATH)下面
在項目中添加框架
go get -u google.golang.org/protobuf
go get -u google.golang.org/grpc
打开cmd
查看protoc
基本格式
編寫proto3文件
syntax = "proto3";
//(当前目录的包名)
package gRPCStudy;
// 生成的文件在当前的目录下
//--go_out= E:\goProject\gRPC(go 输出路径)
// --go-grpc_out= E:\goProject\gRPC(go-grpc服务的输出路径)
// --proto_path= E:\goProject\gRPC (proto文件目录)
// redisRequest.proto (输出proto包名)
option go_package = "/proto";
// 开头必须大写
// 編寫函數
拼接命令
E:\goProject\gRPC
protoc --go_out=E:\goProject\gRPC --proto_path=E:\goProject\gRPC --go-grpc_out=E:\goProject\gRPC sqlCommand.proto
輸出文件
message name{
type name = number
}
service name {
rpc OneRPC(RedisStringRequest) returns (RedisResponse){ }
rpc ServerStream(RedisStringRequest) returns (stream RedisResponse) {}
rpc ClientStream(stream RedisStringRequest) returns (RedisResponse) {}
rpc BothStream (stream RedisStringRequest) returns (stream RedisResponse) {}
}
浙公网安备 33010602011771号