微服务深入浅出(4)-- 负载均衡Ribbon

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
原文地址:https://www.cnblogs.com/ijavanese/p/9192624.html