golang中如何使用GRPC
golang中如何使用GRPC,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
创新互联专注于博州网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供博州营销型网站建设,博州网站制作、博州网页设计、博州网站官网定制、重庆小程序开发服务,打造博州网络公司原创品牌,更为您提供博州网站排名全网营销落地服务。
编写proto中间文件
syntax="proto3"; package services; message ProdRequest { int32 prod_id=1; } message ProdResponse { int32 prod_stock=1; }
生成Prod.pb.go文件
进入proto文件所在目录
protoc --go_out=../services Prod.proto
proto文件年增加rpc接口定义
syntax="proto3"; package services; message ProdRequest { int32 prod_id=1; } message ProdResponse { int32 prod_stock=1; } service ProdService { rpc GetProdStock (ProdRequest) returns (ProdResponse); }
生成rpc接口Prod.pb.go文件
protoc --go_out=plugins=grpc:../services Prod.proto
grpc-gateway
作用
对外部提供http方式访问rpc服务
下载依赖
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
修改proto定义
syntax="proto3"; package services; import "google/api/annotations.proto"; message ProdRequest { int32 prod_id=1; } message ProdResponse { int32 prod_stock=1; } service ProdService { rpc GetProdStock (ProdRequest) returns (ProdResponse){ option (google.api.http) ={ get: "/v1/prod/{prod_id}" }; } }
protoc生成gateway类
protoc --grpc-gateway_out=logtostderr=true:../services Prod.proto
关于golang中如何使用GRPC问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。
文章名称:golang中如何使用GRPC
文章位置:http://scyanting.com/article/igieep.html