spring cloud负载均衡之FeignBlockingLoadBalancerClient、BlockingLoadBalancerClient

本文主要分析被 @FeignClient 注解的接口类请求过程中负载均衡逻辑,流程分析使用的源码版本信息如下:

复制代码
        <spring-boot.version>3.2.1</spring-boot.version>
        <spring-cloud.version>2023.0.0</spring-cloud.version>
背景

平常我们代码里用@FeignClien注解一个接口类,实现一个远程接口(如下)

复制代码
@FeignClient(name = ServiceNameConstants.XXX, fallbackFactory = XXXFactory.class)
public interface RemoteXXXService {

    @GetMapping("/XXX/getById")
    Result<XXX> getById(@RequestParam("Id") String Id);
}
FeignBlockingLoadBalancerClient

这个类是归属spring-cloud-starter-openfeign依赖

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

这个类由以下依赖引入

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

todo~~

相关推荐
Ken_11158 小时前
SpringCloud系列(49)--SpringCloud Stream消息驱动之实现生产者
spring cloud
guojl17 小时前
Ribbon原理和源码分析
spring cloud·微服务
guojl1 天前
RestTemplate使用手册
spring cloud·微服务
guojl1 天前
RestTemplate原理分析
spring cloud·微服务
Ken_11151 天前
SpringCloud系列(51)--SpringCloud Stream之使用分组解决消息重复消费问题
spring cloud
lwb_01181 天前
SpringCloud——Gateway新一代网关
spring·spring cloud·gateway
述雾学java2 天前
Spring Cloud Feign 整合 Sentinel 实现服务降级与熔断保护
java·spring cloud·sentinel
何苏三月2 天前
SpringCloud系列 - Sentinel 服务保护(四)
spring·spring cloud·sentinel
麦兜*2 天前
Spring Boot启动优化7板斧(延迟初始化、组件扫描精准打击、JVM参数调优):砍掉70%启动时间的魔鬼实践
java·jvm·spring boot·后端·spring·spring cloud·系统架构