Ribbon-负载均衡器启动时序图

图来自:sping-cloud-ribbon原理解析 - SegmentFault 思否

 

  • 初始化时首先会初始化一个定时任务,每隔30s执行一次,缓存里面会保存所有从注册中心获取实例列表allServerList和经过ping成功的实例列表upServerList,但是负载均衡的时候拿到的列表是allServerList而非upServerList,不明白这个ping的意义在哪里
  • 启动一个定时任务,定时从注册中心拉取服务列表,每个30s执行一次
  • 初始化获取服务列表,拉取到的服务列表经过ServiceFilter过滤后保存在缓存里面
  • 当客户端发起调用的时候会调用ILoadBalancer的chooseServer方法,根据IRule的负载均衡算法选择一个实例返回给调用者.
posted @ 2021-05-26 20:58  kldx5092  阅读(142)  评论(0)    收藏  举报