聊聊Ribbon源码解读之负载均衡 上篇文章我们说到RibbonLoadBalancerClient的execute()方法需要获取负载均衡器 负载均衡器 深入getLoadBalancer()方法我们发现它就是调用SpringClientFactory的getInstance()方法获取的是ILoadBalancer的实例,那么ILoadBalancer实例是在哪里定义的呢? 我们再看RibbonAutoConfiguration类 @Bean publicSpringClientFactoryspringClientFactory(){ SpringClientFactoryfactory...

聊聊Ribbon获取服务列表和负载均衡策略 在使用负载均衡器选取服务的时候是从所有的服务列表中获取的,那么服务列表是从哪里来的呢? 服务列表的获取 RibbonClientConfiguration中定义了ZoneAwareLoadBalancer负载均衡器,并使用了ServerList对象 我们看负载均衡器ZoneAwareLoadBalancer的构造方法,它的构造方法直接调用父类DynamicServerListLoadBalancer的构造方法,构造方法中有个restOfInit()方法: 重要的两步: enableAndInitLearnNewServersFeature(); up...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~