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
本文链接:https://www.cdcxhl.com/article48/igieep.html

成都网站建设公司_创新互联,为您提供建站公司关键词优化搜索引擎优化手机网站建设品牌网站制作网站设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设