Hystrix斷路器介紹

小小平不平凡發表於2020-11-19

一、Hystrix是什麼
Hystrix是一個用於處理分散式系統的延遲和容錯的開源庫,在分散式系統裡,許多依賴不可避免的會呼叫失敗,比如超時、異常等,Hystrix能保證在一個依賴出問題的情況下,不會導致整體服務失敗、避免級聯故障,以提高分散式系統的彈性。

“斷路器”本身是一種開關裝置,當某個服務單元發生故障之後,通過斷路器的故障監控(類似熔斷保險絲),向呼叫方返回一個符合預期的、可處理的備選響應(FallBack),而不是長時間的等待或者丟擲呼叫方無法處理的異常,這樣就保證了服務呼叫方的執行緒不會被長時間、不必要的佔用、從而避免了故障在分散式系統中的蔓延、乃至雪崩。

二、服務熔斷
熔斷機制是應對雪崩效應的一種微服務鏈路保護機制。
扇出鏈路的某個微服務不可用或者響應時間太長時,會進行服務的降級,進而熔斷該節點微服務的呼叫,快速返回“錯誤”的響應資訊。當檢測到該節點微服務呼叫響應正常後恢復呼叫鏈路。在Spring Cloud框架裡熔斷機制通過Hystrix實現。Hystrix 會監控微服務間呼叫的狀況,當失敗的呼叫到一定閾值,預設是5秒內20次呼叫失敗就會啟動熔斷機制。熔斷機制的註解是@HystrixCommand。

相關文章