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

相关推荐
幽络源小助理1 小时前
8、幽络源微服务项目实战:前端登录跨域同源策略处理+axios封装+权限的递归查询增删改+鉴权测试
前端·微服务·架构
七夜zippoe3 小时前
微服务配置中心高可用设计:从踩坑到落地的实战指南(二)
微服务·架构·php
lisw0513 小时前
连接蓝牙时“无媒体信号”怎么办?
人工智能·机器学习·微服务
可我不想做饼干13 小时前
微服务注册中心 Spring Cloud Eureka是什么?
微服务
龙茶清欢16 小时前
Spring Boot 应用启动组件加载顺序与优先级详解
java·spring boot·后端·微服务
echoyu.20 小时前
微服务-分布式追踪 / 监控工具大全
分布式·微服务·架构
曾经的三心草1 天前
基于阿里云系列平台的python微服务设计与DevOps实践
python·阿里云·微服务
柳贯一(逆流河版)1 天前
Seata 深度解析:微服务分布式事务管理的实践指南
分布式·微服务·架构
七夜zippoe1 天前
微服务配置中心高可用设计:从踩坑到落地的实战指南(一)
java·数据库·微服务
老马爱知1 天前
《红色脉络:一部PLMN在中国的演进史诗 (1G-6G)》 第11篇 | 核心网演进终局:从EPC到5GC——微服务与“云原生”
微服务·云原生·核心网·nfv·epc·5g核心网·sba架构