首页 > 其他 > 详细

mirco新建proto流程

时间:2020-11-17 17:23:12      阅读:33      评论:0      收藏:0      [点我收藏+]

折腾了一段时间,现在终于对mirco有点了解了,于是就记录下mirco新建proto的流程

1、新建服务

micro new --type "srv" 项目路径

如:micro new --type "srv" sss/GetImageCd

接下来会输出一堆东西,记录下这两行,待会儿会用到

技术分享图片

 

 

 

2、进入到proto目录,编写protobuf数据格式

技术分享图片

 

 

 技术分享图片

 

 

 定义好Request和Response后,执行之前记录下来的那两行命令

cd /opt/golangProject/src/sss/GetImageCd
protoc --proto_path=.:$GOPATH/src --go_out=. --micro_out=. proto/GetImageCd/GetImageCd.proto

执行成功后,会生成两个文件

技术分享图片

 

 

3、在新建的服务的根目录下,执行go mod init(没有用go moudle管理的话,可以忽略3,4步)

修改go.mod,新加这两行,不然的话无法调用

技术分享图片

 

 

4、进入到proto目录,执行go mod init,如果不执行这步,那么web端将无法调用服务端的protobuf

5、如果遇到proto与服务定义的结构体冲突了的话,那么取另一个名就好了,然后对应修改下面的文件

别名冲突

技术分享图片

 

 修改为

技术分享图片

 

 对应修改下面的文件

src/sss/GetImageCd/handler/GetImageCd.go

src/sss/GetImageCd/subscriber/GetImageCd.go

其实就是在服务根目录下,这些方法对应的调用文件

技术分享图片

 

 

6、编译服务

go build main.go

编译的时候,会出现以下报错

# github.com/coreos/etcd/clientv3/balancer/picker
../../pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/picker/err.go:37:44: undefined: balancer.PickOptions
../../pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/picker/roundrobin_balanced.go:55:54: undefined: balancer.PickOptions
# github.com/coreos/etcd/clientv3/balancer/resolver/endpoint
../../pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:114:78: undefined: resolver.BuildOption
../../pkg/mod/github.com/coreos/etcd@v3.3.17+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:182:31: undefined: resolver.ResolveNowOption

原因 grpc版本不对

 

解决方法

go mod edit -require=google.golang.org/grpc@v1.26.0

 go get -u -x google.golang.org/grpc@v1.26.0

 

7、服务调用测试

技术分享图片

 

mirco新建proto流程

原文:https://www.cnblogs.com/zhp-king/p/13995000.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!