使用micro创建微服务,启动micro之后,并没有在consul中发现注册的微服务。
原因:micro默认注册的微服务不是consul,所以需要指定
首先下载者两个包
go get -u github.com/micro/go-plugins/registry/consul
go get -u github.com/micro/go-micro/registry
import (
"github.com/micro/go-plugins/registry/consul"
"github.com/micro/go-micro/registry"
)
func main(){
reg := consul.NewRegistry(func(op *registry.Options) {
op.Addrs = []string{
"127.0.0.1:8500",
}
})
service := micro.NewService(
micro.Name("go.micro.srv.helloworld"),
micro.Version("latest"),
micro.Registry(reg),//在service中指定注册consul
)
}
注意,使用微服务的情况下,例如:一个web,一个srv,两者都需要注册到consul,web才能调用srv,如果web注册到consul中,srv没有注册到consul中,则不能成功调用srv