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

相关推荐
极客先躯15 小时前
高级java每日一道面试题-2025年3月21日-微服务篇[Nacos篇]-什么是Nacos?
java·开发语言·微服务
程序员ys1 天前
微前端是什么?
微服务·架构·前端框架
kill bert1 天前
第32周Java微服务入门 微服务基础
java·开发语言·微服务
Mia@2 天前
网络通信&微服务
微服务·云原生·架构
Julian.zhou2 天前
MCP服务:五分钟实现微服务治理革命,无缝整合Nacos/Zookeeper/OpenResty
人工智能·微服务·zookeeper·交互·openresty
冰 河2 天前
《Mycat核心技术》第21章:高可用负载均衡集群的实现(HAProxy + Keepalived + Mycat)
分布式·微服务·程序员·分布式数据库·mycat
A叶子叶2 天前
Kong网关部署研究
python·spring cloud·微服务·gateway·kong
小李同学_LHY3 天前
微服务架构中的精妙设计:环境和工程搭建
java·spring·微服务·springcloud
点点滴滴的记录3 天前
Sentinel 相关知识点
java·微服务·sentinel
Code额3 天前
Elasticsearch 的搜索功能
elasticsearch·微服务