loadbalancer 引入与使用

在消费中pom中引入

复制代码
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

请求调用加+ @LoadBalanced 注解

进行服务调用

默认负载均衡是轮训模式

想要切换为随机模式需要重写restTemplate

@Configuration
@LoadBalancerClient(
//下面的value值大小写一定要和consul**里面的名字一样,必须一样value = "cloud-payment-service" ,configuration = RestTemplateConfig.class)
public classRestTemplateConfig
{
@Bean
@LoadBalanced //使用@LoadBalanced注解赋予RestTemplate**负载均衡的能力
publicRestTemplate restTemplate(){
return newRestTemplate();
}

@Bean
ReactorLoadBalancer<ServiceInstance> randomLoadBalancer(Environment environment,
LoadBalancerClientFactory loadBalancerClientFactory) {
String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);

return newRandomLoadBalancer(loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), name);
}
}

相关推荐
SUPER526616 小时前
FastApi项目启动失败 got an unexpected keyword argument ‘loop_factory‘
java·服务器·前端
咕噜咕噜啦啦16 小时前
Eclipse集成开发环境的使用
java·ide·eclipse
光军oi19 小时前
全栈开发杂谈————关于websocket若干问题的大讨论
java·websocket·apache
weixin_4196583119 小时前
Spring 的统一功能
java·后端·spring
小许学java20 小时前
Spring AI-流式编程
java·后端·spring·sse·spring ai
haogexiaole20 小时前
Java高并发常见架构、处理方式、api调优
java·开发语言·架构
EnCi Zheng21 小时前
SpringBoot + PostgreSQL 密码认证失败 Windows 系统解决方案
windows·spring boot·postgresql
EnCi Zheng21 小时前
@ResponseStatus 注解详解
java·spring boot·后端
wdfk_prog21 小时前
闹钟定时器(Alarm Timer)初始化:构建可挂起的定时器基础框架
java·linux·数据库
Arva .21 小时前
开发准备之日志 git
spring boot·git·后端