Feign 调用超时,会自动重试吗?如何设置?

简介: Feign默认不重试超时请求,但可通过Retryer配置重试策略。可设置最大重试次数、间隔等参数,并结合@FeignClient的configuration属性启用,提升服务调用的容错能力。

默认情况下 Feign 调用超时不会自动重试。发生超时或其他错误时,Feign 会抛异常。当然,我们可以通过 Retryer 来启用重试机制。


Retryer 允许你配置请求失败后的重试策略。Retryer 可以配置重试次数、重试间隔等参数。你可以通过 @FeignClient 注解的 configuration 属性来配置 Feign 的重试行为。


1、定义一个 Retryer 配置类:

import feign.Retryer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.TimeUnit;

@Configuration
public class FeignRetryConfig {

    @Bean
    public Retryer retryer() {
        // 设置最大重试次数为 3,重试间隔为 1 秒
        return new Retryer.Default(100, TimeUnit.SECONDS.toMillis(1), 3);
    }
}

2、在 @FeignClient 注解中应用配置:

@FeignClient(name = "clay-service", configuration = FeignRetryConfig.class)
public interface ExampleServiceClient {
    @GetMapping("/api/data")
    String getData();
}


目录
相关文章
|
Java API Maven
敏感数据的保护伞——SpringBoot Jasypt加密库的使用
我们经常会在yml配置文件中存放一些敏感数据,比如数据库的用户名、密码,第三方应用的秘钥等等。这些信息直接以明文形式展示在文件中,无疑是存在较大的安全隐患的,所以今天这篇文章,我会借助jasypt实现yml文件中敏感信息的加密处理。
5614 1
敏感数据的保护伞——SpringBoot Jasypt加密库的使用
|
负载均衡
OpenFeign重试组件Retryer原理
该文章主要讲解了OpenFeign中的重试组件Retryer的工作原理及其实现细节。
OpenFeign重试组件Retryer原理
|
设计模式 负载均衡 Java
Feign如何设置超时时间,不同情况还真不一样,别设置错了
大家好,我是三友~~ 今天来聊一聊前段时间看到的一个面试题,也是在实际项目中需要考虑的一个问题,Feign的超时时间如何设置? Feign的超时时间设置方式并不固定,它取决于Feign在项目中是如何使用的,不同的使用方式,超时时间设置方式也不大相同,甚至还可能有坑。
Feign如何设置超时时间,不同情况还真不一样,别设置错了
|
安全 Java 测试技术
最佳实践:通义灵码生成单元测试,让单测更简单
本文首先讲述了什么是单元测试、单元测试的价值、一个好的单元测试所具备的原则,进而引入如何去编写一个好的单元测试,通义灵码是如何快速生成单元测试的。
|
前端开发 API 微服务
SpringCloud微服务之间使用Feign调用不通情况举例
SpringCloud微服务之间使用Feign调用不通情况举例
2247 2
|
Java 数据处理 Spring
Spring Cloud OpenFeign 超时与重试
今天给大家分享的是 `feign` 的超时与重试配置。
1189 0
Spring Cloud OpenFeign 超时与重试

热门文章

最新文章