微服务组件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两个不同端口响应的请求

相关推荐
天上掉下来个程小白6 小时前
Docker-07.Docker基础-数据卷挂载
运维·docker·微服务·容器
小傅哥9 小时前
【分享】拼团交易平台系统,分布式、高并发、微服务
分布式·微服务·状态模式
程序员陆通11 小时前
Spring Cloud微服务中的内存泄漏问题定位与解决方案
java·spring cloud·微服务
我爱娃哈哈13 小时前
微服务拆分粒度,拆得太细还是太粗?一线架构师实战指南!
后端·微服务
毛小茛16 小时前
认识微服务
微服务·云原生·架构
鼠鼠我捏,要死了捏19 小时前
基于Spring Cloud Gateway和Resilience4j的微服务容错与流量控制实战经验分享
微服务·resilience4j·spring cloud gateway
xujinwei_gingko20 小时前
项目架构演进
分布式·微服务·架构
夜斗小神社1 天前
【黑马SpringCloud微服务开发与实战】(九)elasticsearch基础
elasticsearch·spring cloud·微服务
你我约定有三2 天前
分布式微服务--Nacos作为配置中心(二)
java·分布式·spring cloud·微服务·架构·wpf·负载均衡
阿里云云原生2 天前
阿里云微服务引擎 MSE 及 API 网关 2025 年 7 月产品动态
阿里云·微服务·云计算