8-3 Hystrix架構圖介紹


Hytrix官方的

第一部分是這里。熔斷依賴命令來實現的
可以認為是線程的入口,所有需要Hytrix支持的內容 都必須要走 HystrixCommand、HystrixObservableCommand:只有這兩種形式,沒有其他可選的形式。除非你們繼承它實現了自己的子類

第二部分

都是入口,這四個的差異就是同步執行,還是異步執行。

第三步



不用處理后面邏輯了 這里有緩存,直接返回

第四步熔斷

其實是個狀態判斷,Hytrix自身有個開關,可以認為是一把鎖,如果說Hytrix這把鎖打開,意思就是說我已經不讓你進了。鎖關閉就是允許你進。
你可以為是擰把手的鎖。打開的意思就是鎖彈開了。

熔斷器打開,就是這里的yes,那你就不要繼續往下走了。

熔斷了去調用getFailBack或者resumeWithFallback方法。

調用getFailBack或者resumeWithFallback方法。,這個方法調用,如果工程了那么就返回,如果失敗了就報錯。

getFailBack就是之前說的快速失敗,就是降級。降級業務其實是我們自己寫的。熔斷開啟后,會直接調用我們預定義的getFailBack方法,這個getFailBack方法里面的內容就是即將要返回的內容。

熔斷如果沒有開啟就調下面的方法。Hytrix給我們提供了熔斷和信號量,無論是信號量還是線程池都是有上限的。

如果說這兩部分都出上限了。那么一樣會去調用getFailBack
 
這兩部都沒有問題就到了第六步,真正執行我們的run方法。前面都是一些驗證驗證完成之后才真正執行command里的業務方法。



驗證方法如果調用失敗,就會調用getFailBack方法。如果超時也會調用getFailBack方法

如果都沒有問題,第九步就返回了。

總結

hystrix大致分為這幾個東西。


基於沒有和我們業務有關的東西。所以2到7都算是業務驗證。

主要學的東西就是這些。

結束

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM