【微服务|OpenFeign】openfeign的超时时间

我当前所用的spring cloud 版本为Hoxton.SR9,从spring-cloud-2020.0.0 开始移除了诸多Netflix组件,这里只是为了更好的应用ribbon。

因为该版本openfeign内部整合了ribbon,故可以通过对ribbon的配置来达到更改openfeign的超时时间等。

spring-cloud-2020.0.0版本开始,这种配置即失效,可通过更改Request.Options,以达到ribbon这种效果。

全局配置

ribbon方式修改超时时间

#设置feign客户端超时时间(OpenFeign默认支持ribbon)
ribbon:
  #指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间
  ReadTimeout: 5000
  #指的是建立连接后从服务器读取到可用资源所用的时间
  ConnectTimeout: 5000

Request.Options方式修改超时时间

问题:if the request should follow 3xx redirections.

配置类方式

import feign.Request;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.concurrent.TimeUnit;

/**
 * @author issavior
 */

@Configuration
public class FeignOptionsConfig {
    /**
     * 超时时间配置
     */

    @Bean
    public Request.Options options() {
        
        return new Request.Options(5, TimeUnit.SECONDS,
                5, TimeUnit.SECONDS, true);
    }

配置文件方式

feign:
  client:
    config:
      # 提供方的服务名
      default:
        #请求日志级别
        loggerLevel: FULL
        #设置为默认的契约(还原成原生注解)
#        contract: feign.Contract.Default
        # 连接超时时间,默认2s,设置单位为毫秒
        connectTimeout: 5000
        # 请求处理超时时间,默认5s,设置单位为毫秒。
        readTimeout: 5000

局部配置

feign:
  client:
    config:
      # 提供方的服务名
      ossa-service-producer:
        #请求日志级别
        loggerLevel: FULL
        #设置为默认的契约(还原成原生注解)
#        contract: feign.Contract.Default
        # 连接超时时间,默认2s,设置单位为毫秒
        connectTimeout: 5000
        # 请求处理超时时间,默认5s,设置单位为毫秒。
        readTimeout: 5000

源码解析

相关源码梳理【我只截了几张源码图,我相信你们这些老粉都一定可以看懂 //狗头保命】

  1. 这里首先进行初始化,默认连接和读取的时间都为1000毫秒,加载进内存中。【微服务|OpenFeign】openfeign的超时时间【微服务|OpenFeign】openfeign的超时时间【微服务|OpenFeign】openfeign的超时时间

  2. 如果配置文件中,有ribbon相关配置,则刷新/覆盖内存中相应的值。【微服务|OpenFeign】openfeign的超时时间【微服务|OpenFeign】openfeign的超时时间【微服务|OpenFeign】openfeign的超时时间


原文始发于微信公众号(步尔斯特):【微服务|OpenFeign】openfeign的超时时间

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/48076.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!