第一、整合Ribbon
在Spring Cloud项目中集成Ribbon,需要以下依赖。如果SpringCloud中已经集成了Eureka,则也可以不需要配置,因为Eureka中已经引用了Ribbon。
· <!--Ribbon-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
第二、配置RestTemplate 其中@LoadBalanced是能够让RestTemplate具备负载均衡能力的注解,不可缺少。
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@Configuration
public class BeanConfiguration {
@Bean
@LoadBalanced
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}
<