结合consul实现服务发现与注册
- micro提供的consul插件有个NewRegistry用于服务注册
- 多个服务在不同的服务器上,用consul进行服务的注册和发现
服务注册
/* 包
"github.com/micro/go-micro/v2/registry"
consul "github.com/micro/go-plugins/registry/consul/v2"
*/
var consulReg registry.Registry
func init() {
consul.NewRegistry(
registry.Addrs("127.0.0.1:8521"), // consul的地址
)
}
service := micro.NewService(
micro.Name("goods"),
micro.Address(":60441"),
micro.Registry(consulReg), // 将consul服务注册加入
)
go run main.go 会在consul的services中看到注册的服务
服务调用
修改client/rpc/rpc/go
//服务端注册和客户端注册一致
consulReg = consul.NewRegistry(
registry.Addrs("127.0.0.1:8521"), // consul的地址
)
默认是随机调用
网友评论