07.06 Hystrix原理與源碼分析

Hystrix原理與源碼分析

Hystrix是什麼?

Hystrix 是在控制分佈式系統中提供更大容限和服務失敗之間的相互關係。在一個複雜的分佈式架構系統中,依賴服務是避免不了的,特別是在高併發情況下,如果一個系統不能對相關的依賴進行隔離,那該系統就會有被拖垮被宕機的風險。

Hystrix能做什麼?

  • 使用命令模式HystrixCommand包裝依賴調用邏輯,每個命令在單獨線程中/信號授權下執行
  • 提供熔斷器組件,停止當前依賴一段時間(10秒),熔斷器默認錯誤率閾值為50%,超過將自動運行
  • 為每個依賴提供一個小的線程池/信號,如果線程池已滿調用將被立即拒絕
  • 請求失敗時執行fallback(降級)邏輯

Hystrix 監控面板

Hystrix原理與源碼分析

Hystrix源碼設計

Hystrix核心設計基於命令模式,首先通過UML介紹命令模式

Hystrix原理與源碼分析

Command是在Receiver和Invoker之間添加的中間層,Command實現了對Receiver的封裝。

Hystrix的API既可以是Invoker又可以是reciever,通過繼承Hystrix核心類HystrixCommand來封裝這些API,就可以為API提供彈性保護了。

Hystrix原理與源碼分析


分享到:


相關文章: