04-OpenFeign-请求超时机制

本文详细解释了SpringCloud2021.0.1版本中Feign和Ribbon的超时参数设置,包括默认超时时间、Ribbon的集成默认超时、如何设置全局和单个服务的超时时间。
摘要由CSDN通过智能技术生成

目录

1、默认的超时时间 

2、openFeign集成了Ribbon

3、设置Ribbon的超时时间(不推荐)

4、设置openFeign的超时时间(推荐)

5、指定具体服务超时设置


基于 2021.0.1版本  具体有以下几种超时参数设置

以下仅限2021.0.1 以前的版本,高于该版本的spring cloud 已修复该问题

1、默认的超时时间 

默认不生效

连接超时时间10秒、读超时时间60秒,源码在feign.Request.Options#Options()这个方法中

2、openFeign集成了Ribbon

Ribbon的默认超时连接时间、读超时时间都是是1秒, 默认生效

源码在org.springframework.cloud.openfeign.ribbon.FeignLoadBalancer#execute()方法中

3、设置Ribbon的超时时间(不推荐)

ribbon:
  # 值的是建立链接所用的时间,适用于网络状况正常的情况下, 两端链接所用的时间
  ReadTimeout: 5000
  # 指的是建立链接后从服务器读取可用资源所用的时间
  ConectTimeout: 5000

4、设置openFeign的超时时间(推荐)

以下设置为全局超时时间设置

feign:
  client:
    config:
      ## default 设置的全局超时时间,指定服务名称可以设置单个服务的超时时间
      default:
        connectTimeout: 5000
        readTimeout: 5000

5、指定具体服务超时设置

可以对具体的服务名,单独设置超时时间

feign:
  client:
    config:
      ## default 设置的全局超时时间,指定服务名称可以设置单个服务的超时时间
      default:
        connectTimeout: 5000
        readTimeout: 5000
      ## 为serviceC这个服务单独配置超时时间
      serviceC:
        connectTimeout: 30000
        readTimeout: 30000

01-OpenFeign-概述-CSDN博客

02-OpenFeign-微服务接入_openfeign接入-CSDN博客

03-OpenFeign-请求传参设置_openfeign调用post请求传参-CSDN博客

04-OpenFeign-请求超时机制_openfeign 默认超时时间-CSDN博客

05-OpenFeign-日志增强-CSDN博客

06-OpenFeign-使用HtppClient连接池_feignclient 连接池-CSDN博客

08-OpenFeign-结合Sentinel,实现熔断降级_sentinel openfeign-CSDN博客

09-OpenFeign-令牌中继、透传_openfeign header透传-CSDN博客

10-OpenFeign-实现异步调用_openfeign 异步调用-CSDN博客

11-OpenFeign-实现负载均衡策略_openfeign默认负载均衡策略-CSDN博客

  • 27
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
OpenFeign 是一个在 Spring Cloud 中使用的声明式 HTTP 客户端,它提供了一些默认的重试机制来处理请求失败的情况。在默认情况下,OpenFeign 使用了 Ribbon 作为负载均衡器,并且具备了一些默认的重试策略。 OpenFeign默认重试机制是基于 Ribbon 的,它会在发生请求失败时进行重试。具体的重试策略可以通过配置文件或者代码进行调整。默认情况下,OpenFeign 会进行 5 次最大重试,默认的最大重试次数可以通过配置项 `feign.client.config.default.retryMaxAttempts` 进行修改。 除了最大重试次数,OpenFeign 还提供了其他的重试相关配置项,例如 `feign.client.config.default.retryPeriod` 可以设置每次重试之间的时间间隔,默认为 100 毫秒。此外,还可以通过 `feign.client.config.default.retryableStatusCodes` 配置项来设置哪些 HTTP 状态码会触发重试,默认情况下,OpenFeign 会在遇到网络异常(如连接超时、连接拒绝等)或者 5xx 级别的状态码时进行重试。 如果默认的重试机制无法满足需求,也可以通过自定义 Feign 的配置类来实现更加灵活的重试策略。可以通过实现 `Retryer` 接口来定义自己的重试策略,并将其注入到 Feign 的配置类中。 总结起来,OpenFeign 的重试机制可以通过配置文件或者代码进行调整,默认情况下会在发生请求失败时进行最多 5 次的重试。如果需要更加定制化的重试策略,可以通过自定义 Feign 的配置类来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宣晨光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值