Feign客户端 - 超时时间配置

Spring Cloud中Feign客户端是默认开启支持Ribbon的,最重要的两个超时就是连接超时ConnectTimeout和读超时ReadTimeout,在默认情况下,也就是没有任何配置下,Feign的超时时间会被Ribbon覆盖,两个超时时间都是1秒。

这边简单说一个场景,就不上代码了,app-user服务调用app-order服务中的接口, 然后在app-order的接口中设置1.5s的延迟,看看调用效果:

调用出错了,控制台显示读取超时,这就是因为Ribbon默认超时时间为1s导致的。这个只要我们配置一下超时时间就行了:

Ribbon全局配置
在调用方的yml配置文件中添加配置,设置超时时间为5s:

ribbon:
  #建立连接超时时间
  ConnectTimeout: 5000
  #建立连接之后,读取响应资源超时时间
  ReadTimeout: 5000
 然后重启服务,调用成功

 Feign配置
注: Feign配置会优先于Ribbon配置。配置完之后也是同样的效果。

feign:
  client:
    config:
      #这里填具体的服务名称(也可以填default,表示对所有服务生效)
      app-order:
        #connectTimeout和readTimeout这两个得一起配置才会生效
        connectTimeout: 5000
        readTimeout: 5000
 
————————————————
版权声明:本文为CSDN博主「honvin_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hon_vin/article/details/102851536

上一篇:小程序更新问题:新版本发布后为什么不更新?


下一篇:莫队(离线处理区间询问)