最近再研究引入consul作为micro的注册中心和配置中心的时候,遇到了个问题
micro --registry=consul --registry_address=xxxxx api --handler=api
看着网上搜刮回来的资料,执行命令暴露端口使其能通过http访问,然后就报错了 ,--registry=consul --registry_address=xxxxx 这两个参数无法使用使用,去掉这两个参数直接运行,consul注册不了服务又会导致无法找到该服务。。。
老办法,还是只能google,micro在1.13之后的版本,已经不支持命令行使用consul了,最后找到了一个解决方法,就是重新编译micro,先放下地址
https://github.com/micro/micro/issues/405
这里简单的说下步骤
1、cd $GOPATH/src/github.com/micro/micro (如果用的是go module,那么就去pkg目录下去找,最简单的方法就是ide随便引入micro的方法,鼠标点一下调用方法出来的文件就能找到目录了)
2、创建plugins.go并加入下面的代码
package main import ( _ "github.com/micro/go-plugins/registry/consul" )
3、重新编译
go build -o micro main.go plugins.go
4、最后用重新编译的可执行文件重新运行命令即可