Spring Cloud(四):服務熔斷器Hystrix

一:概述

Netflix創建了一個名為Hystrix的庫,實現了斷路器的模式。“斷路器”本身是一種開關裝置,當某個服務單元發生故障之後,通過斷路器的故障監控(類似熔斷保險絲),向調用方返回一個符合預期的、可處理的備選響應(FallBack),而不是長時間的等待或者拋出調用方無法處理的異常,這樣就保證了服務調用方的線程不會被長時間、不必要地佔用,從而避免了故障在分佈式系統中的蔓延,乃至雪崩。

除了隔離依賴服務的調用以外,Hystrix還提供了準實時的調用監控(Hystrix Dashboard),Hystrix會持續地記錄所有通過Hystrix發起的請求的執行信息,並以統計報表和圖形的形式展示給用戶,包括每秒執行多少請求多少成功,多少失敗等。Netflix通過hystrix-metrics-event-stream項目實現了對以上指標的監控。Spring Cloud也提供了Hystrix Dashboard的整合,對監控內容轉化成可視化界面

二:作用

Spring Cloud(四):服務熔斷器Hystrix

如圖所示:當我們服務之間調用的時候,如果一方發生了服務不可用,將可能導致多相關服務不可以,甚至所有的服務不可以,系統癱瘓。而Hystrix完美的避免了這個雪崩的情況,當服務A不可用時,將返回一個自定義的本地信息,並且接下來的服務將不會調用服務提供者,提供更加快速的響應。當一定時候後,服務又將會嘗試去連接後臺服務,一旦成功,降下來熔斷器將失去作用。


分享到:


相關文章: