採用feign與hystrix同時啟用的情況下,超時時間一般要根據實際伺服器數量等因素重新配置過,其中ribbon的超時時間(feign一般用ribbon的超時)一般不能大於hystrix的超時時間,否則ribbon的重試還沒開始就直接觸發了hystrix熔斷。ribbon的重試可以避免網路抖動、伺服器處理超時帶來的客戶體驗不穩定,比如其中一台由於網路抖動不能訪問了,ribbon的重試可以訪問另外一台可用的。所以hystrix超時時間要大於feign時間,時間可以參考公式(1 + maxautoretries + maxautoretriesnextserver) * readtimeout
具體配置如下
##開啟斷路
##切換為okhttp
#feign連線超時時間
ribbon.connecttimeout=2000
#feign讀取超時時間
ribbon.readtimeout=5000
##請求進行重試
hystrix.command.default.execution.timeout.enabled=true
#目前有兩個容器例項,單個請求超時5s,+重試》10s,超15s則熔斷
hystrix.command.default.execution.isolation.thread.timeoutinmilliseconds=15000
關於Hystrix超時
對於web的請求有些時候可能會超過2s,這時候需要設定超市請求 hystrix的作用是對一段程式進行控制,這段程式做了什麼無所謂。程式請求服務的框架是feign,所以要對feign進行控制。0 openfeign的程式 feignclient value getname public inte ce...
feign結合hystrix實現熔斷 降級
feign中包含了hystrix以及ribbon,即feign在不匯入hystrix和ribbon的依賴下也能完成他們所能實現的功能,當然,如果想使用hystrix和ribbon自帶的註解以及配置,必須匯入依賴才可以。org.springframework.cloud spring cloud st...
配置超時時間 Hystrix 超時配置的N種玩法
至於以後你是用阿里的sentinel還是netflix hystrix我就不管了,但今天的主題還是netflix hystrix,至少目前還是有很多在使用的,所以今天這篇文章還是看看吧。如果我們使用的是 hystrixcommand註解,那麼可以在註解中直接指定超時時間,如下 hystrixcomm...