Hystrix

原理

1、流程圖


官方原版流程圖
1、方法標注 @HystrixCommand注解
2、方法執行進入執行隊列、方法執行、【圖中標注 .toObservable()狀態】
3、緩存是否可見【有 返回緩存數據;沒有進入下一步判斷】
4、斷路器是否打開【未打開 直接判斷信號量線程池是否拒絕 ;打開且觸發斷路進去fallback方法】
5、信號量線程池是否拒絕【未拒絕 創建線程池隔離艙執行業務邏輯 ;拒絕 執行fallback方法】
6、業務邏輯執行是否成功【成功 判斷是否超時;未成功 執行fallback方法】
7、判斷是否超時【超時 不返回 未超時返回數據】
8、fallback執行結果【成功 返回數據 ;失敗 返回失敗或者自行實現業務方法】

其中方法執行結果要返回斷路器健康狀態給斷路器【也就是圖中綠色4】

具體信息可見官方詳細:https://github.com/Netflix/Hystrix/wiki/How-it-Works

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一、認識Hystrix Hystrix是Netflix開源的一款容錯框架,包含常用的容錯方法:線程池隔離、信號量隔...
    新棟BOOK閱讀 4,074評論 0 19
  • 一、認識Hystrix Hystrix是Netflix開源的一款容錯框架,包含常用的容錯方法:線程池隔離、信號量隔...
    新棟BOOK閱讀 26,518評論 1 37
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,868評論 18 139
  • 一. 背景 我們的業務當中會大量依賴于第三方的服務,而這些第三方的服務都是基于Http請求的。我們的調用模...
    千里浪打浪閱讀 21,054評論 3 12
  • 上篇文章我主要講的是官方文檔對Hystrix的說明,闡述了在微服中Hystrix擔任的角色,以及它是如何達到這樣的...
    瘦竹竿閱讀 1,887評論 0 6