Spring Cloud OpenFeign 超时与重试

简介: 今天给大家分享的是 `feign` 的超时与重试配置。

今天给大家分享的是 feign 的超时与重试配置。

超时

feign:
  client:
    config:
      default:
        connectTimeout: 1000
        readTimeout: 1000

需要注意以下几点:

1、连接超时 (connectTimeout) 和 读取超时 (readTimeout) 同时配置时,才会生效。

2、超时单位为毫秒。

3、可根据服务名称单独定义超时。

比如, provider-get 服务提供的是查询接口,超时时间可以设置短一些:

feign:
  client:
    config:
      provider-get:
        connectTimeout: 1000
        readTimeout: 6000

而, provider-post 服务提供的是数据处理接口,超时时间可以设置长一些:

feign:
  client:
    config:
      provider-post:
        connectTimeout: 1000
        readTimeout: 20000

重试

实现 feign.Retryer 接口

public class MyRetryer implements Retryer {
    @Override
    public void continueOrPropagate(RetryableException e) {
        throw e;
    }

    @Override
    public Retryer clone() {
        return new Default(100, TimeUnit.SECONDS.toMillis(1), 5);
    }
}

三个参数的理解:

  • period:周期,重试间隔时间
  • maxPeriod:最大周期,重试间隔时间按照一定的规则逐渐增大,但不能超过最大周期
  • maxAttempts:最大尝试次数,重试次数

之后,我们可以进行配置:

feign:
  client:
    config:
      default:
        retryer: com.fengwenyi.springclouddemo.demospringcloudfeignsentinel.consumerservice.MyRetryer

希望今天的分享能够在工作中帮助到你。

目录
相关文章
|
4月前
|
监控 负载均衡 Java
深入理解Spring Cloud中的服务网关
深入理解Spring Cloud中的服务网关
|
4月前
|
Java 开发工具 git
实现基于Spring Cloud的配置中心
实现基于Spring Cloud的配置中心
|
4月前
|
设计模式 监控 Java
解析Spring Cloud中的断路器模式原理
解析Spring Cloud中的断路器模式原理
|
1月前
|
自然语言处理 JavaScript Java
Spring 实现 3 种异步流式接口,干掉接口超时烦恼
本文介绍了处理耗时接口的几种异步流式技术,包括 `ResponseBodyEmitter`、`SseEmitter` 和 `StreamingResponseBody`。这些工具可在执行耗时操作时不断向客户端响应处理结果,提升用户体验和系统性能。`ResponseBodyEmitter` 适用于动态生成内容场景,如文件上传进度;`SseEmitter` 用于实时消息推送,如状态更新;`StreamingResponseBody` 则适合大数据量传输,避免内存溢出。文中提供了具体示例和 GitHub 地址,帮助读者更好地理解和应用这些技术。
220 0
|
4月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
Spring Cloud Alibaba 发布了 Scheduling 任务调度模块 [#3732]提供了一套开源、轻量级、高可用的定时任务解决方案,帮助您快速开发微服务体系下的分布式定时任务。
14959 29
|
4月前
|
负载均衡 Java Spring
Spring cloud gateway 如何在路由时进行负载均衡
Spring cloud gateway 如何在路由时进行负载均衡
508 15
|
4月前
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
112 3
|
4月前
|
消息中间件 Java 开发者
Spring Cloud微服务框架:构建高可用、分布式系统的现代架构
Spring Cloud是一个开源的微服务框架,旨在帮助开发者快速构建在分布式系统环境中运行的服务。它提供了一系列工具,用于在分布式系统中配置、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等领域的支持。
191 5
|
4月前
|
Java API 开发工具
Spring Boot与Spring Cloud Config的集成
Spring Boot与Spring Cloud Config的集成