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就不是轮询了,而是随机出现了。