Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。
简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。在配置文件中列出Load Balancer后面所有的机器,Ribbon会自动帮助你基于某种规则去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。
Ribbon在工作时分成两步:第一步选择EurekaServer,他优先选择在同一个区域内负载较少的server。第二步再根据用户指定的策略,再从server取到的服务注册列表中选择一个地址。
依赖
在新版eureka-client依赖中,已经默认导入了Ribbon的相关依赖了。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
我们如果想要使用Ribbon,只需要在RestTemplate的配置类中加上@LoadBalanced注解即可。(默认使用的是轮询算法)然后进行服务调用,Ribbon就开始工作了。
@Configuration
public class ApplicationContextConfig {
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
}
Ribbon默认自带一下负载规则:
原文:https://www.cnblogs.com/wwjj4811/p/13617929.html