springcloud-3.ribbon负载均衡

简介

Ribbon 是一个基于 HTTP 和 TCP 客户端 的负载均衡的工具。默认提供了轮询和随机(默认轮询), 可以实现从地址列表中使用负载均衡算法获取服务的地址进行服务调用。

下面进行项目改造

启动user-service

开启多个user-service, 注册到eureka-server中, 端口分别为: 8080, 8090

DNzeO0.png

改造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, 发现可以正常访问

源代码下载