摘要: 原創出處 www.iocoder.cn/Hystrix/bui… 「芋道源碼」歡迎轉載,保留摘要,謝謝!git
本文主要基於 Hystrix 1.5.X 版本 github
🙂🙂🙂關注微信公衆號:【芋道源碼】有福利: spring
- RocketMQ / MyCAT / Sharding-JDBC 全部源碼分析文章列表
- RocketMQ / MyCAT / Sharding-JDBC 中文註釋源碼 GitHub 地址
- 您對於源碼的疑問每條留言都將獲得認真回覆。甚至不知道如何讀源碼也能夠請教噢。
- 新的源碼解析文章實時收到通知。每週更新一篇左右。
- 認真的源碼交流微信羣。
推薦 Spring Cloud 書籍:緩存
從官方倉庫 github.com/Netflix/Hys… Fork
出屬於本身的倉庫。爲何要 Fork
?既然開始閱讀、調試源碼,咱們可能會寫一些註釋,有了本身的倉庫,能夠進行自由的提交。😈微信
使用 IntelliJ IDEA
從 Fork
出來的倉庫拉取代碼。在項目路徑下,在命令行執行 ./gradlew
命令,Gradle
會下載依賴包,可能會花費一些時間,耐心等待下。其間可能會出現由於網絡緣由( 我相信你懂的 ),可能會出現失敗的狀況,淡定,從新執行上述命令直到成功。此刻,你就是一個 while(true)
的小強。網絡
本文基於 master
分支。架構
在 hystrix-examples
子項目下,提供了大量的示例,以下圖:mvc
basic
包 :針對 Hystrix 每一個特性提供小的單元測試示例。你能夠從 CommandHelloWorld 開始嘗試。demo
包 :結合實際場景的實戰小例子。運行入口爲 HystrixCommandDemo 或者 HystrixCommandAsyncDemo 。恩,聰慧如你,從名字能看出它們的區別點。可能有部分同窗對 Hystrix 的特性瞭解的不是很清晰,筆者推薦以下文章:運維
另外,筆者也整理了下 Hystrix 的特性以下( 可能不是很嚴謹,主要輔助理解 ) :異步
爲了顯得本文的誠意( 真的不是水更 ),友情提示以下:
Hystrix 基於 RxJava 實現,因此筆者推薦閱讀以下文章 :
可能一開始理解會比較困難,保持耐心,你即將打開一個新的世界。對了,變換( #lift(Operator)
) 會是一個難點,我相信你能夠理解。
胖友,分享一波朋友圈可好!
對了,這是一個系列文,因此,千萬不要錯過。