go-micro微服务框架使用consul作为注册中心,在发送请求的时候,会出现rpc服务找不到的现象

先简单介绍我的框架架构,网关--->服务API--->服务SRV 其实网关和api的概念差不多,只是将某些功能单独提出来,鉴权跨域处理等等

起初一开始我也是用consul作为注册中心的,以上三层架构都需要指出需要将Registry申明为consul

## 服务API和服务SRV的写法
"github.com/micro/go-plugins/registry/consul"
"github.com/micro/go-micro/registry"


reg := consul.NewRegistry(func(op *registry.Options) {
		op.Addrs = []string{
			"127.0.0.1:8500",
		}
	})
	service := micro.NewService(
		micro.Name("go.micro.srv.example"),
		micro.Registry(reg),
		micro.Version("latest"),
	)
## 网关 指定参数启动
micro --api_address=0.0.0.0:8888 --api_namespace=eTrans.api --registry=consul  --registry_address=127.0.0.1:8500 --register_interval=3 --register_ttl=10  api --handler=api

网上大多数资料都是比较久了,有些用法可以那是因为版本的问题,现在最新版本micro是不支持consul的,所以在启动指令的时候会报错,以上的写法可使用在go-micro 1.13.*版本

然后一路踩坑,发现写这个东西的时候出现很多问题,包括传参、服务注册、版本问题等等

当一路踩坑到最后一部的时候,就出现了发送请求的时候,会找不到api服务,查看了日志网关是正常的,就是api有时候在线有时候不在线。。。

当时为了解决这个问题,不小心将版本升级了,然后所有的东西都用不了。。。破釜沉舟一把(因为项目赶,我们才学了这个东西不到四天。。。)将所有的都改成最新版本,注册中心使用默认的mdns

再次调通项目,没有之前那种想象了,会出现服务找不到~~~

作为一个记录,持续学习go当中,欢迎指导!

PS:

1、欢迎访问我的个人站点:小白求学进阶

2、欢迎访问我的CSDN博客:小白求学进阶

3、微信公众号:

# 学习  Go 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×