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

相关推荐
Zfox_3 小时前
Redis:Hash数据类型
服务器·数据库·redis·缓存·微服务·哈希算法
雪碧聊技术7 小时前
将单体架构项目拆分成微服务时的两种工程结构
微服务·架构·module·project·工程结构
洛神灬殇15 小时前
【LLM大模型技术专题】「入门到精通系列教程」基于ai-openai-spring-boot-starter集成开发实战指南
网络·数据库·微服务·云原生·架构
啾啾Fun1 天前
【Java微服务组件】分布式协调P4-一文打通Redisson:从API实战到分布式锁核心源码剖析
java·redis·分布式·微服务·lua·redisson
后海 0_o1 天前
2025前端微服务 - 无界 的实战应用
前端·微服务·架构
喵叔哟1 天前
24.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--认证微服务
微服务·架构·.net
bing_1581 天前
跨多个微服务使用 Redis 共享数据时,如何管理数据一致性?
redis·微服务·mybatis
hsg772 天前
基于nacos2.5.1的MCP服务端微服务项目开发环境配置简介
微服务·云原生·架构
tomorrow.hello2 天前
集群与分布式与微服务
分布式·微服务·架构
掘金-我是哪吒2 天前
分布式微服务系统架构第144集:FastAPI全栈开发教育系统
分布式·微服务·架构·系统架构·fastapi