1. 在pom文件中添加相关的依赖包
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
2. 在application.yml中添加Eureka的配置,因为Ribbon是从Eureka中寻找服务
eureka:
client:
register-with-eureka: false #false表示不向注册中心注册自己
service-url:
defaultZone: http://eureka7001:7001/eureka,http://eureka7002:7002/eureka,http://eureka7003:7003/eureka
3. 在application启动类中,添加Eureka客户端的注解,表明自己为客户端
@EnableEurekaClient
4. 修改RestTemplate的Configuration类,在方法上添加注解,实现负载均衡
@Bean
@LoadBalanced // SpringCloud Ribbon 是基于netflix Ribbon 实现的一套客户端 负载均衡的工具
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
5. 将Controller中原有通过ip和端口访问服务提供者的方式,修改为通过服务名称访问
//原有
private static final String REST_URL_PREFIX = "http://localhost:8761";
//修改后
private static final String REST_URL_PREFIX = "http://XXXXXX"; // 服务提供者的名称