ribbion
1.自动装配类LoadBalancerAutoConfiguration 通过@bean几个方法 装填属性实现了拦截器 loandBalanceInterceptor的所有定制类到restTemplate
2.客户端 请求的rest 被拦截,org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient#execute(java.lang.String, org.springframework.cloud.client.loadbalancer.LoadBalancerRequest<T>, java.lang.Object)
3.com.netflix.loadbalancer.ZoneAwareLoadBalancer#chooseServer
从ioc容器中获取instance 服务实例,通过负载均衡器loandBance
fegin
@EnableFeignClintes 通过imports 导入FeignClientsRegister,该类通过beanFactory后置处理器注册beanDefnition ,把所有的@feignClient注解的包类注册bean定义,工厂代理类,feignClientFactoryBean,动态代理的方式调用处理getObject->代理类里LoadBalancerFeignClient通过ribbion的拦截器实现负载均衡