很多人都被网上spring cloud feign超时配置各种介绍绕的头晕眼花,主要是因为feign的超时配置有很多,有feign自身的,也有ribbon相关的。超时主要有两类配置:一个是连接超时,一个是读取超时。
默认配置
在没有做特定配置的情况下,feign的默认超时时间是1秒。
Feign相关配置
feign.client.config.default.readTimeout和feign.client.config.default.connectTimeout是Feign的全局超时配置。也可以为特定feign设置超时时间,只要把default换成对应feign client的name就可以了。
这里有一个要注意的点就是如果只配置了连接超时或者读取超时其中一个是不会生效的,必须在配置文件中对这两类超时全部配置才会生效
Ribbon相关配置
ribbon中也有超时相关配置,分别是ribbon.ReadTimeout和ribbon.ConnectTimeout。
这里要注意的是配置中的参数首字母是大写的,另外如果同时配置了ribbon和feign的超时参数,最终生效的是feign的配置。