sisterofdc

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

rpc使用

这里注意几个东西
Goku API Gateway
docker eolinker/apinto-gateway

https://help.apinto.com/docs/apinto/discovery/

这个是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文件

https://protobuf.dev/getting-started/gotutorial/

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) {}
}




posted on 2023-02-01 23:10  SistersOfDC  阅读(50)  评论(0)    收藏  举报