Feign客户端 - 超时时间配置
Spring Cloud中Feign客戶端是默認開啟支持Ribbon的,最重要的兩個超時就是連接超時ConnectTimeout和讀超時ReadTimeout,在默認情況下,也就是沒有任何配置下,Feign的超時時間會被Ribbon覆蓋,兩個超時時間都是1秒。
這邊簡單說一個場景,就不上代碼了,app-user服務調用app-order服務中的接口, 然后在app-order的接口中設置1.5s的延遲,看看調用效果:
調用出錯了,控制臺顯示讀取超時,這就是因為Ribbon默認超時時間為1s導致的。這個只要我們配置一下超時時間就行了:
Ribbon全局配置
在調用方的yml配置文件中添加配置,設置超時時間為5s:
ribbon:
? #建立連接超時時間
? ConnectTimeout: 5000
? #建立連接之后,讀取響應資源超時時間
? ReadTimeout: 5000
?然后重啟服務,調用成功
?Feign配置
注: Feign配置會優先于Ribbon配置。配置完之后也是同樣的效果。
feign:
? client:
? ? config:
? ? ? #這里填具體的服務名稱(也可以填default,表示對所有服務生效)
? ? ? app-order:
? ? ? ? #connectTimeout和readTimeout這兩個得一起配置才會生效
? ? ? ? connectTimeout: 5000
? ? ? ? readTimeout: 5000
?
————————————————
版權聲明:本文為CSDN博主「honvin_」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/hon_vin/article/details/102851536
總結
以上是生活随笔為你收集整理的Feign客户端 - 超时时间配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: word文档怎么删除空白页面有页眉(wo
- 下一篇: Java中BigDecimal解决精度丢