Hystrix熔断原理
生活随笔
收集整理的這篇文章主要介紹了
Hystrix熔断原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Netflix的開源組件Hystrix的流程:?
圖中流程的說明:
a. 服務調用發生超時時,進入步驟8。
a. 執行成功返回結果。?
b. 執行中出現錯誤則進入步驟8。
a. 沒有實現getFallback()回退邏輯的調用將直接拋出異常。?
b. 回退邏輯調用成功直接返回。?
c. 回退邏輯調用失敗拋出異常。
注意:熔斷是否開啟熔斷器主要由依賴調用的錯誤比率決定的,依賴調用的錯誤比率=請求失敗數/請求總數。Hystrix中斷路器打開的默認請求錯誤比率為50%(這里暫時稱為請求錯誤率),還有一個參數,用于設置在一個滾動窗口中,打開斷路器的最少請求數(這里暫時稱為滾動窗口最小請求數),這里舉個具體的例子:如果滾動窗口最小請求數為默認20,在一個窗口內(默認10秒,統計滾動窗口的時間可以設置),收到19個請求,即使這19個請求都失敗了,此時請求錯誤率高達95%,但是斷路器也不會打開。對于被熔斷的請求,并不是永久被切斷,而是被暫停一段時間(默認是5000ms)之后,允許部分請求通過,若請求都是健康的(ResponseTime<250ms)則對請求健康恢復(取消熔斷),如果不是健康的,則繼續熔斷。(這里很容易出現一種錯覺:多個請求失敗但是沒有觸發熔斷。這是因為在一個滾動窗口內的失敗請求數沒有達到打開斷路器的最少請求數)
總結
以上是生活随笔為你收集整理的Hystrix熔断原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么说 GraphQL 可以取代 RE
- 下一篇: 熔断器 Hystrix 的原理与使用