1.@LoadBalanced开启了RibbonLoadBalancerClient负载均衡支持
2.RestTemplate对服务的地址(Uri),主机(host),端口(port)等做了一些描述,然后创建了 InterceptingClientHttpRequest http请求的客户端对象,用来执行请求用,
3.当调用RestTemplate发起请求时会被 LoadBalancerInterceptor请求拦截器给拦截到
4.拦截器中使用了 RibbonLoadBalancerClient执行请求,然后根据服务id获取了负载均衡器,默认 ZoneAwareLoadBalancer
5.然后负载均衡器进行服务的选择,默认使用了轮询策略
6.拿到服务实例后调用 InterceptingClientHttpRequest 完成服务调用请求,获取返回结果。
作者:叩丁狼教育
链接:https://www.jianshu.com/p/99e6c991101a
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文详细解析了@LoadBalanced如何开启RibbonLoadBalancerClient的负载均衡支持,通过RestTemplate实现服务调用的过程。从请求的创建、拦截、执行,到负载均衡器的选择和服务实例的调用,完整地介绍了基于Ribbon的负载均衡机制。

被折叠的 条评论
为什么被折叠?



