简介
Ribbon 是一个基于 HTTP 和 TCP 客户端 的负载均衡的工具。默认提供了轮询和随机(默认轮询), 可以实现从地址列表中使用负载均衡算法获取服务的地址进行服务调用。
下面进行项目改造
启动user-service
开启多个user-service, 注册到eureka-server中, 端口分别为: 8080, 8090
改造user-consumer
- restTemplate
添加 @LoadBalanced 注解
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
- UserController
不再使用拼接方式,而是使用服务名称获取
@GetMapping("/{id}")
public User queryById(@PathVariable Integer id){
User user = restTemplate.getForObject("http://user-service/user/" + id, User.class);
return user;
}
启动
访问 http://127.0.0.1:8081/user/1, 发现可以正常访问