Ribbon的負載均衡,主要經過LoadBalancerClient來實現的,負載均衡
- 而LoadBalancerClient具體交給了ILoadBalancer來處理,
- ILoadBalancer經過配置IRule、IPing等信息,
- 並向EurekaClient獲取註冊列表的信息,
- 並默認10秒一次向EurekaClient發送「ping」,進而檢查是否更新服務列表,
- 最後,獲得註冊列表後,ILoadBalancer根據IRule的策略進行負載均衡。
RestTemplate 被@LoadBalance註解後,可以用負載均衡,配置
- 主要是維護了一個被@LoadBalance註解的RestTemplate列表,
- 並給列表中的RestTemplate添加攔截器,進而交給負載均衡器去處理。