網站首頁 美容小常識 享受生活 東方時尚 識真假 高奢 資訊 遊戲攻略 搞笑段子
當前位置:品位站 > 享受生活 > 心理

hystrix熔斷與限流原理

欄目: 心理 / 發佈於: / 人氣:1.16W
hystrix熔斷與限流原理

hystrix是一個幫助解決分佈式系統交互時超時處理和容錯的類庫, 它同樣擁有保護系統的能力。

hystrix的設計原則包括:資源隔離、熔斷器、命令模式、資源隔離。

hystrix將同樣的模式運用到了服務調用者上。

hystrix通過將每個依賴服務分配獨立的線程池進行資源隔離, 從而避免服務雪崩。

熔斷器模式定義了熔斷器開關相互轉換的邏輯:服務的健康狀況 = 請求失敗數 / 請求總數。

熔斷器開關由關閉到打開的狀態轉換是通過當前服務健康狀況和設定閾值比較決定的。

當熔斷器開關關閉時, 請求被允許通過熔斷器。

如果當前健康狀況高於設定閾值, 開關繼續保持關閉。

如果當前健康狀況低於設定閾值, 開關則切換為打開狀態。

當熔斷器開關打開時, 請求被禁止通過。

當熔斷器開關處於打開狀態, 經過一段時間後, 熔斷器會自動進入半開狀態, 這時熔斷器只允許一個請求通過。

當該請求調用成功時, 熔斷器恢復到關閉狀態. 若該請求失敗, 熔斷器繼續保持打開狀態, 接下來的請求被禁止通過。

熔斷器的開關能保證服務調用者在調用異常服務時, 快速返回結果, 避免大量的同步等待。

並且熔斷器能在一段時間後繼續偵測請求執行結果, 提供恢復服務調用的可能。

hystrix熔斷與限流原理

Hystrix 是 Netflix 開源的一款容錯系統,能幫助使用者碼出具備強大的容錯能力和魯棒性的程序。Hystrix 具備擁有回退機制和斷路器功能的線程和信號隔離,請求緩存和請求打包(request collapsing,即自動批處理,譯者注),以及監控和配置等功能。

Hystrix 源於 Netflix API 團隊在 2011 年啟動的彈性工程工作,而目前它在 Netflix 每天處理着數百億的隔離線程以及數千億的隔離信號調用。Hystrix 是基於 Apache License 2.0 協議的開源的程序庫,目前託管在 GitHub 上