![Hystrix原理與源碼分析](http://p2.ttnews.xyz/loading.gif)
Hystrix是什麼?
Hystrix 是在控制分佈式系統中提供更大容限和服務失敗之間的相互關係。在一個複雜的分佈式架構系統中,依賴服務是避免不了的,特別是在高併發情況下,如果一個系統不能對相關的依賴進行隔離,那該系統就會有被拖垮被宕機的風險。
Hystrix能做什麼?
- 使用命令模式HystrixCommand包裝依賴調用邏輯,每個命令在單獨線程中/信號授權下執行
- 提供熔斷器組件,停止當前依賴一段時間(10秒),熔斷器默認錯誤率閾值為50%,超過將自動運行
- 為每個依賴提供一個小的線程池/信號,如果線程池已滿調用將被立即拒絕
- 請求失敗時執行fallback(降級)邏輯
Hystrix 監控面板
![Hystrix原理與源碼分析](http://p2.ttnews.xyz/loading.gif)
Hystrix源碼設計
Hystrix核心設計基於命令模式,首先通過UML介紹命令模式
Command是在Receiver和Invoker之間添加的中間層,Command實現了對Receiver的封裝。
Hystrix的API既可以是Invoker又可以是reciever,通過繼承Hystrix核心類HystrixCommand來封裝這些API,就可以為API提供彈性保護了。
閱讀更多 白白家族 的文章