当前位置: 首页>后端>正文

HTTP调用(二):feign调用的超时

避坑配置connectTimeout和readTimeout

坑点1:

feign客户端默认2个超时时间是1s

# 修改全局默认值:
feign.client.config.default.readTimeout=3000
feign.client.config.default.connectTimeout=3000
坑点2:

如果要配置 Feign 的读取超时,就必须同时配置连接超时,connectTimeout和readTimeout 同时 配置才能生效。

坑点3:

对单独的 Feign Client 设置超时时间,可以把 default 替换为 Client 的 name:

feign.client.config.default.readTimeout=3000
feign.client.config.default.connectTimeout=3000
feign.client.config.clientname.readTimeout=2000
feign.client.config.clientname.connectTimeout=2000

单独的超时可以覆盖全局超时,这符合预期,不算坑

坑点4:

除了可以配置 Feign,也可以配置 Ribbon 组件的参数来修改两个超时时间。
坑点4是,参数首字母要大写,和 Feign 的配置不同。

ribbon.ReadTimeout=4000
ribbon.ConnectTimeout=4000

结论:同时配置 Feign 和 Ribbon 的超时,以 Feign 为准

clientname.ribbon.listOfServers=localhost:8080
feign.client.config.default.readTimeout=3000
feign.client.config.default.connectTimeout=3000
ribbon.ReadTimeout=4000
ribbon.ConnectTimeout=4000

https://www.xamrdz.com/backend/3m91940944.html

相关文章: