简介:处理ribbon和loadbalancer处理负载均衡的方式
1.springboot:2.6.3
2.nacos:1.4.6
3.springcloud:2021.0.1
4.spring-cloud-alibaba:2021.0.1.0
一、微服务之间的调用方式
1.本文:RestTemplate
二、LoadBalancer已经代替了Ribbon
可以清晰看见dicovery里面已经没有了ribbon
so 在父工程引入LoadBalancer依赖
<!-- 负载均衡-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
三、采用自定义类注入springbean的方式进行负载均衡
消费者服务文件目录
@Configuration
public class WebConfiguration {
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
// 以下为新增
// 随机轮询loadbalancer
@Bean
ReactorLoadBalancer<ServiceInstance> randomLoadBalancer(Environment environment,
LoadBalancerClientFactory loadBalancerClientFactory) {
String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);
// 随机轮询策略
return new RandomLoadBalancer(loadBalancerClientFactory
.getLazyProvider(name, ServiceInstanceListSupplier.class),
name);
}
}
四、修改启动类
测试
可以发现已经开始连续了,不是轮询了。
over。