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

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

相关文章:

  • 2021-12-22
  • 2022-02-20
  • 2022-12-23
  • 2021-04-26
猜你喜欢
  • 2021-12-27
  • 2022-02-17
  • 2022-03-04
  • 2021-07-04
  • 2021-10-27
  • 2021-11-12
  • 2022-02-04
相关资源
相似解决方案