微服务组件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 小时前
微服务 vs 单体架构:架构选型、实战拆解与决策指南
java·微服务·springboot·springcloud
黑牛儿1 小时前
K8s 1.36 新特性解读:服务网格如何解决微服务安全与通信难题?生产级对比
安全·微服务·kubernetes
weixin_397578021 小时前
基于 Docker 的 CI/CD 方案
微服务
Smoothcloud润云14 小时前
从“预测下一个词”到“预测下一个世界状态”:世界模型作为AGI新范式的深度分析报告
人工智能·测试工具·微服务·容器·github·状态模式·agi
却话巴山夜雨时i18 小时前
互联网大厂Java面试实录:技术栈解析与场景剖析
java·大数据·spring boot·spring cloud·微服务·ai·面试
为什么不问问神奇的海螺呢丶19 小时前
Oracle Golden Gate 19c 微服务版 (19.1.0.0.4) 静默安装
数据库·微服务·oracle
无忧智库20 小时前
企业数字化的“底层逻辑”:深度解构4A架构中的数据基石(PPT)
分布式·微服务·架构
钝挫力PROGRAMER20 小时前
关于软件架构的一些疑惑
微服务·云原生·架构
色空大师1 天前
【微服务项目-短信平台】
java·redis·微服务·rabbitmq·springcloud·短信
jinggongszh1 天前
数字化转型先上系统还是先理流程?
大数据·人工智能·微服务·制造