在微服务系统中,可以通过多个实例部署任何服务,因此有必要选择一种策略来选择一个已将其发送到该实例的实例的处理节点。
选择器基于注册中心注册表进行节点选择和状态标记。不同的算法可在选择过程中选择。
选择器接口定义为
如果您需要不同的选择策略,则可以自定义选择策略
选择器的默认实现
在默认实现中,节点选择策略是随机选择
节点选择过程如下:
从示例的客户负载案例中,我们可以看到如何使用它
FirstNodeSeSelector的返回值是加载程序。他是选择器接口的实现。逻辑非常简单。
继续查看客户端的代码。当客户实例化时,请初始化我们的选择器,这也反映出只要我们实现选择器接口,就可以定义选择设备来实现它。
服务调用时,可以从client.call方法实现。您可以看到整个过程的工作方式
如果您使用GRPC,
他将调用下一个获取节点的方法
在真实呼叫之前,将执行节点选择
以上是节点选择器的一般内容。如果您想了解更多详细的内容,则可以去这里go-Micro以查看更多详细的代码。