简介
说明
入口
此文已经分析过,是通过LoadBalancerClientFactory#getInstance(String serviceId)来获取负载均衡策略的。而且,其默认负载均衡策略是:RoundRobinLoadBalancer(轮询策略)
最终是获得ReactorServiceInstanceLoadBalancer.class类型的bean
ReactorServiceInstanceLoadBalancer接口
可以看到,ReactorServiceInstanceLoadBalancer接口有两个实现类,直接看:RoundRobinLoadBalancer。
LoadBalancer的配置类
Ctrl+鼠标左键,点击RoundRobinLoadBalancer,可以找到其配置类:
所以,默认会使用RoundRobinLoadBalancer(轮询策略)。
因为它上边有注解:@ConditionalOnMissingBean,含义是:没有这个Bean时则使用此Bean。
这也意味着,我们可以自定义策略,实现ReactorServiceInstanceLoadBalancer接口,然后注册到容器当中,这样就会用我们自定义的策略。