Ribbon是Spring Cloud的负载均衡组件。Ribbon默认的提供了很多负载均衡算法。当Ribbon和Eureka配合使用的时候,Ribbon会自动从Eureka Server获取服务提供者列表,并基于负载均衡算法,请求其中一个服务提供者的实例。
(1)在pom中添加ribbon依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-ribbon</artifactId> </dependency>(2)由于服务之间调用用的是RestTemplate,所以在RestTemplate上加入@LoadBlanced注解就可以
@Bean @LoadBalanced public RestTemplate restTemplate(){ return new RestTemplate(); }现在就整合了Ribbon,使其具备了负载均衡的能力。 @Bean放在方法上,就是产生一个bean并交给Spring管理。
在application.yml中配置Ribbon即可. 配置的前缀是.ribbon.后边可以跟的属性有: NFLoadBalancerClassName: 配置ILoadBalancer的实现类。 NFLoadBalancerRuleClassName:配置IRule的实现类。 NFLoadBalancerPingClassName:配置IPing的实现类。 NIWSServerListClassName:配置serverList的实现类。 NIWSServerListFilterClassName:配置ServerListFilter的实现类。