负载均衡
Ribbon
服务间通信的负载均衡工具,提供完善的超时重试机制
客户端的负载均衡器:在客户端将各个服务的信息拿到,在客户端本地做到请求的均衡分配
Ribbon 提供 @LoadBalanced 注解,外搭配RestTemplate来做客户端的负载均衡。简而言之,@LoadBalanced + RestTemplate就是Ribbon,其中默认的负载均衡算法是轮询
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate(new OkHttp3ClientHttpRequestFactory());
}
一般来说,eureka-client中已经整合了ribbon的客户端
其中,ribbon可自定义负载均衡规则(ribbon也提供提供了一些,比如随机分配、按权值分配等等)两种配置方式,一种在启动类的注解上,另一种在yml的配置文件上
nginx
服务端的负载均衡器:拿到客户端的请求,根据均衡器内部的算法分配给各个服务,此次分配是在服务端完成的 。
集群…反向代理…