负载均衡分为服务端负载均衡和客户端负载均衡,图解:
客户端的负载均衡还需要从注册中心获取集群部署的服务地址,其中客户的负载均衡器定时读取注册中心的IP和端口,然后缓存起来,这样以后可以先判断缓存IP和端口是否可用,如果不可用,才会再次远程调用注册中心服务,如果可用,就直接从缓存中获取数据,从而减少网络IO的开销
Gateway有两种客户端负载均衡器,LoadBalancerClientFilterReactiveLoadBalancerClientFilter,LoadBalancerClientFilter使用一个Ribbon的阻塞式LoadBalancerClient,Gateway建议使用ReactiveLoadBalancerClientFilter,可以通过设spring.cloud.loadbalancer.ribbon.enabled=false,切换到ReactiveLoadBalancerClientFilter