原文网址:Spring Cloud LoadBalancer--默认的负载均衡策略_IT利刃出鞘的博客-CSDN博客
简介
说明
本文介绍Spring Cloud LoadBalancer是如何确定默认负载均衡策略的。
相关网址
Spring Cloud LoadBalancer--负载均衡的原理(源码分析)_IT利刃出鞘的博客-CSDN博客
粉丝福利:有很多粉丝私信问我有没有面试及PDF书籍等资料,我把它们进行了整理,包含:真实面试题汇总、简历模板、PDF书籍、PPT模板等。这些是我自己也在用的资料,面试题是面试官问到我的问题的整理,其他资料也是我自用的,真正实用、靠谱。资料可以从这里免费获取:资料地址
入口
此文已经分析过,是通过LoadBalancerClientFactory#getInstance(String serviceId)来获取负载均衡策略的。而且,其默认负载均衡策略是:RoundRobinLoadBalancer(轮询策略)
最终是获得ReactorServiceInstanceLoadBalancer.class类型的bean
ReactorServiceInstanceLoadBalancer接口
可以看到,ReactorServiceInstanceLoadBalancer接口有两个实现类,直接看:RoundRobinLoadBalancer。
LoadBalancer的配置类
Ctrl+鼠标左键,点击RoundRobinLoadBalancer,可以找到其配置类:
所以,默认会使用RoundRobinLoadBalancer(轮询策略)。
因为它上边有注解:@ConditionalOnMissingBean,含义是:没有这个Bean时则使用此Bean。
这也意味着,我们可以自定义策略,实现ReactorServiceInstanceLoadBalancer接口,然后注册到容器当中,这样就会用我们自定义的策略。
更多推荐
Spring Cloud LoadBalancer--默认的负载均衡策略
发布评论