5.1 LoadBalancerAutoConfiguration 客户端负载均衡器的的自动配置类型
Spring Cloud Eureka 源码跟踪(5.客户端负载均衡)
5.2 restTemplate调用请求时会被LoadBalancerInterceptor类的intercept方法拦截
Spring Cloud Eureka 源码跟踪(5.客户端负载均衡)
5.3 intercept方法调用LoadBalancerClient接口实现类RibbonLoadBalancerClient的execute方法执行
Spring Cloud Eureka 源码跟踪(5.客户端负载均衡)
5.4 ILoadBanancer loadBalancer=this.getLoadBalancer(serviceId)根据服务名获得服务名相同的节点
Spring Cloud Eureka 源码跟踪(5.客户端负载均衡)
Spring Cloud Eureka 源码跟踪(5.客户端负载均衡)
5.5 ZoneAwareLoadBalancer中的chooseServer方法从相同服务名的节点集合中选择一个节点进行请求处理
Spring Cloud Eureka 源码跟踪(5.客户端负载均衡)
5.6 ZoneAwareLoadBalancer调用父类BaseLoadBalancer的chooseServer方法处理,
Spring Cloud Eureka 源码跟踪(5.客户端负载均衡)
5.7 BaseLoadBalancer通过默认规则ZoneAvoidanceRule选择一个服务
Spring Cloud Eureka 源码跟踪(5.客户端负载均衡)
5.8 请求转发到节点处理
Spring Cloud Eureka 源码跟踪(5.客户端负载均衡)

相关文章: