SpringCloud-Feign【超时时间设置】

  Feign调用服务的默认时长是1秒钟,也就是如果超过1秒没连接上或者超过1秒没响应,那么会相应的报错。而实际情况是因为业务的不同可能出现超出1秒的情况,这时我们需要调整超时时间。本文来看下怎么去设置。

全局配置

  Feign 的负载均衡底层用的就是 Ribbon
  在application.properties中添加如下配置,超过5秒没连接上报连接超时,如果超过5秒没有响应,报请求超时

#全局配置
# 请求连接的超时时间 默认的时间为 1 秒
ribbon.ConnectTimeout=5000
# 请求处理的超时时间
ribbon.ReadTimeout=5000

效果演示

SpringCloud-Feign【超时时间设置】_第1张图片

SpringCloud-Feign【超时时间设置】_第2张图片

局部设置

#局部配置
# 对所有操作请求都进行重试
ego-product-provider.ribbon.OkToRetryOnAllOperations=true
# 对当前实例的重试次数
ego-product-provider.ribbon.MaxAutoRetries=2
# 切换实例的重试次数
ego-product-providert.ribbon.MaxAutoRetriesNextServer=0
# 请求连接的超时时间
ego-product-provider.ribbon.ConnectTimeout=3000
# 请求处理的超时时间
ego-product-provider.ribbon.ReadTimeout=3000

SpringCloud-Feign【超时时间设置】_第3张图片

访问请求后,查看provider的输出

SpringCloud-Feign【超时时间设置】_第4张图片

通过输出我们看到请求重试了一次。然后报错

SpringCloud-Feign【超时时间设置】_第5张图片

你可能感兴趣的:(#,SPRING-CLOUD系列,SpringCloud,Feign,超时时间)