Ribbon负载均衡

1. ribbon入门

负载均衡 + restTemplate调用

启动这五个工程来实现

@Configuration
public class ApplicationConfig {
    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }
}

 

 

2. IRule

默认使用RoundRobinRule

查看类图:

RoundRobinRule: 轮询

RandomRule: 随机

 

 

3.将RoundRobinRule替换成RandomRule

3.1 铺垫

Eureka:

 

官方文档: https://www.springcloud.cc/spring-cloud-netflix.html

MyRule要放在主程序所在的包外面的原因:

由于主程序的@SpringBootApplication就自带@ComponentScan, 会扫描com.shishi.springcloud包。所以新建一个com.shishi.myrule包。

3.2代码:

 主程序类上加这句:

@SpringBootApplication
@EnableEurekaClient
@RibbonClient(name="CLOUD-PAYMENT-SERVICE", configuration=MyRule.class)
public class OrderMain80 {
    public static void main(String[] args) {
        SpringApplication.run(OrderMain80.class, args);
    }
}

 

 

4.测试:

8001和8002就不是轮询了,而是随机出现了。

 

posted @ 2021-05-25 17:01  圣金巫灵  阅读(38)  评论(0编辑  收藏  举报