stack-labs / questions

任何关于Micro的问题都可以在Issue中创建
27 stars 6 forks source link

service的watch 和selector是否可以自定使用 #56

Open LicsDaSheng opened 4 years ago

LicsDaSheng commented 4 years ago

我有一个场景需要watch当前所有的服务端提供方,拿到所有的服务端提供方的Node,然后自由选择node,可能会有权重的概念,对同一个服务的多个Node都进行调用。 有什么办法。

printfcoder commented 4 years ago

可以,一个方法是覆盖掉默认的选择器Selector,另一是创建服务是声明选择器

service := micro.NewService(
        micro.Name("greeter.service"),
        micro.Version("latest"),
        micro.Selector(yourSelector)
    )

二者其实原理是一样的,Selector在Micro中也是插件化的一部分,所以只要自己实现Selecto并传入即可。