一、什么是Ribbon

  Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用

二、为服务消费者整合Ribbon

  1、引入依赖:spring-cloud-starter-ribbon(spring-cloud-starter-eureka中已包含了ribbon)

  2、为RestTemplate添加@LoadBalanced注解

  3、将请求地址修改为虚拟主机名,Ribbon会自动把虚拟主机名映射称网络地址(默认情况下,虚拟主机名和服务名称是一样的,也可以通过配置属性eureka.instance.virtual-host-name或者eureka.instance.secure-virtual-host-name。虚拟主机名不能包含下划线)

#在RestTemplate上加上@LoadBalanced注解
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
  return new RestTemplate();
}

//修改controller内的方法,将请求地址从url改为微服务的虚拟名
@GetMapping("/user/{id}")
  public User findById(@PathVariable Long id) {
    //VIP:virtual IP
    return this.restTemplate.getForObject("http://microservice-provider-user/" + id, User.class);
  }
使用Ribbon

相关文章:

  • 2021-06-04
  • 2021-08-27
  • 2022-12-23
  • 2022-12-23
  • 2021-09-29
  • 2022-01-17
猜你喜欢
  • 2021-07-09
  • 2021-06-25
  • 2021-05-24
  • 2021-10-27
  • 2021-12-13
  • 2021-08-28
相关资源
相似解决方案