原理
springcloud LoadBalancerClient 负载策略原理
springcloud 提供了跟多组件以及大量与服务治理相关的抽象接口,LoadBalancerClient为springcloud提供的负载均衡器客户端。
LoadBalancerClient先从提供的服务中获取某一个实例(默认策略为轮询),比如订单服务需要访问商品服务,商品服务有3个节点,LoadBalancerClient会通过choose(),方法获取到3个节点中的一个服务,拿到服务的信息之后取出服务ip信息,就可以得到完成的想要访问的ip地址和接口,最后通过RestTempate访问商品服务。
springcloud提供的组件Ribbon,内部就是集成了LoadBalancerClient负载均衡,通过@LoadBalance注解开启负载均衡器。