微服务组件LoadBalancer负载均衡

SpringCloud 从 2020.0.1 版本开始,移除了 Ribbon 组件,使⽤Spring Cloud LoadBalancer 组件来代

替 Ribbon 实现客户端负载均衡

loadbalancer负载均衡:

复制一份provider项目,服务名一致,端口号不一致,让 consumer调用服务 (一个provider两个实

例)

这时nacos的bill-provider8860就会有两个实例

引入loadbalancer的jar
<!--客户端负载均衡loadbalancer-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
在consume的config包中添加配置类RandomLoadBalancerConfig,实现随机策略
public class RandomLoadBalancerConfig {
@Bean
ReactorLoadBalancer<ServiceInstance> randomLoadBalancer(
Environment environment, LoadBalancerClientFactory
loadBalancerClientFactory) {
String name =
environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);
return new RandomLoadBalancer(loadBalancerClientFactory
.getLazyProvider(name, ServiceInstanceListSupplier.class),
name);
}
}
在consume的service接口api中加上注解
@LoadBalancerClient(name = "bill-provider8860",configuration =
RandomLoadBalancerConfig.class)

然后多次刷新http://localhost:8890/bill/getId?id=1可以通过控制台看到,8861和8860两个不同端口响应的请求

相关推荐
我没想到原来他们都是一堆坏人7 小时前
在微服务中,如何使用feign在各个微服务中进行远程调用
微服务·云原生·架构
AAA码农烧烤8 小时前
微服务..
微服务·云原生·架构
R-sz12 小时前
bladeX微服务框架如何修改nacos分组
java·微服务·架构
moskidi1 天前
微服务 day01 注册与发现 Nacos & OpenFeign
微服务·云原生·架构
da pai ge1 天前
k8s集群rou-yi项目微服务应用部署
微服务·容器·kubernetes
喵叔哟1 天前
5. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Nacos
微服务·架构·.net
m0_748244832 天前
SOA(面向服务架构)全面解析
java·微服务·架构
continuebreak2 天前
微服务日志查询难解决方案-EFK
微服务·日志·efk
老大白菜2 天前
GoFrame 微服务脚手架模块 (v2.8.x)
微服务·云原生·架构