Feign調用服務的默認時長是1秒鐘,也就是如果超過1秒沒連接上或者超過1秒沒響應,那麼會相應的報錯。而實際情況是因爲業務的不同可能出現超出1秒的情況,這時我們需要調整超時時間。本文來看下怎麼去設置。
全局配置
Feign 的負載均衡底層用的就是 Ribbon
在application.properties中添加如下配置,超過5秒沒連接上報連接超時,如果超過5秒沒有響應,報請求超時
#全局配置
# 請求連接的超時時間 默認的時間爲 1 秒
ribbon.ConnectTimeout=5000
# 請求處理的超時時間
ribbon.ReadTimeout=5000
效果演示
局部設置
#局部配置
# 對所有操作請求都進行重試
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
訪問請求後,查看provider的輸出
通過輸出我們看到請求重試了一次。然後報錯