Spring Cloud中可以使用RestTemplate+Ribbon的解决方案来将负载均衡以代码的形式封装到客户端中。

通过查阅官方文档可以知道,只需要在程序的IoC容器中注入一个restTemplate的bean,并在这个Bean上加@LoadBalanced注解就开启了Ribbon的负载均衡功能:

@Configuration
public class RibbonConfig {

    @Bean
    @LoadBalanced
    RestTemplate restTemplate() {
        return new RestTemplate();
    }

}

LoadBalancerClient是从Eureka Client中获取服务的注册信息的,并将这些服务注册信息缓存了一份。,在LoadBalancedClient调用choose方法的时候,更具负载均衡策略选择一个服务实例信息,从而进行了负载均衡。它也可以不从Eureka Client中获取注册列表信息,这时候就需要自己去维护一份服务注册列表信息,但通常都不会这样做:

stores:
    ribbon:
        listOfServers: baidu.com.google.com
ribbon:
    eureka:
        enabled: false

 

相关文章:

  • 2021-06-29
  • 2021-06-11
  • 2022-12-23
  • 2021-09-12
  • 2021-11-03
  • 2021-11-28
  • 2021-08-25
猜你喜欢
  • 2022-02-09
  • 2022-01-21
  • 2021-04-29
  • 2021-11-23
  • 2022-02-23
  • 2021-09-27
  • 2021-07-25
相关资源
相似解决方案