1 个回答
openFeign其实是有默认的超时时间的,默认分别是连接超时时间10秒、读超时时间60秒。在实际的配重如果openFeign没有设置对应得超时时间,那么将会采用Ribbon的默认超时时间。所以对于超时处理方案,我们有如下两种方案:
一、设置Ribbon的超时时间
设置很简单,在配置文件中添加如下设置
二、设置openFeign的超时时间(推荐)
openFeign设置超时时间非常简单,只需要在配置文件中配置,如下:
一、设置Ribbon的超时时间
设置很简单,在配置文件中添加如下设置
ribbon:
# 值的是建立链接所用的时间,适用于网络状况正常的情况下, 两端链接所用的时间
ReadTimeout: 5000
# 指的是建立链接后从服务器读取可用资源所用的时间
ConectTimeout: 5000
二、设置openFeign的超时时间(推荐)
openFeign设置超时时间非常简单,只需要在配置文件中配置,如下:
feign:
client:
config:
## default 设置的全局超时时间,指定服务名称可以设置单个服务的超时时间
default:
connectTimeout: 5000
readTimeout: 5000
发布于:2年前 (2023-05-07) IP属地:四川省
default设置的是全局超时时间,对所有的openFeign接口服务都生效。但是正常的业务逻辑中可能涉及到多个openFeign接口的调用。此时我们可以给某个服务单独配置一个超时时间,配置如下:
feign:
client:
config:
## default 设置的全局超时时间,指定服务名称可以设置单个服务的超时时间
default:
connectTimeout: 5000
readTimeout: 5000
## 为serviceC这个服务单独配置超时时间
service-A:
connectTimeout: 30000
readTimeout: 30000
发布于:2年前 (2023-05-07) IP属地:四川省
default设置的是全局超时时间,对所有的openFeign接口服务都生效。但是正常的业务逻辑中可能涉及到多个openFeign接口的调用。此时我们可以给某个服务单独配置一个超时时间,配置如下:
feign:
client:
config:
## default 设置的全局超时时间,指定服务名称可以设置单个服务的超时时间
default:
connectTimeout: 5000
readTimeout: 5000
## 为serviceC这个服务单独配置超时时间
service-A:
connectTimeout: 30000
readTimeout: 30000
单个配置的超时时间将会覆盖全局配置。
发布于:2年前 (2023-05-07) IP属地:四川省
我来回答
您需要 登录 后回答此问题!