SpringCloud Ribbon原理-4-服务列表的初始化过程

在这里插入图片描述

前文中,在获取ILoadBalancer的过程中,我们已经得知,它返回的是ZoneAwareLoadBalancer
在这里插入图片描述
那么它是在哪里去初始化的呢? ZoneAwareLoadBalancer 初始化时,必然先要去初始化它的父类DynamicServerListLoadBalancer,它的构造方法会被执行,其中有一个方法是restOfInit();
在这里插入图片描述
在这里插入图片描述
更新服务列表:
在这里插入图片描述
在这里插入图片描述
上面这个updateAction 又调用了updateListOfServers();在这里插入图片描述
而start,则是启动了一个定时任务,定时任务的内容就是更新服务列表:updateListOfServers:
在这里插入图片描述
那么定时任务执行周期是多少呢?在下图中可以看到是默认的30s,也就是每隔30s去更新一次本地缓存中的服务列表
在这里插入图片描述
而PollingServerListUpdater 这个类的初始化,是在配置类 RibbonClientConfiguration中自动装配来完成初始化的:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41300437/article/details/109280312