[TOC]
# 概念
熔斷: 比如用電高,熔斷設備保護,不至于引發火災
隔離: cpu,內存有大小,不隔離,一個使用完,其他人就用不了
限流: 當大流量來的時候,要限流,比如一秒100請求,大了不行,這時候要限流
降級: 當系統發生故障,我們要降級,不至于故障惡化
# NetFlix Hystrix斷路器原理

我們用了這個之后,我們會把調用封裝在Construct Hystrix里面,那么它就有這些功能
調用模式:有同步,異步,響應式(異步),
請求來的話,先電路判斷(circuit open?),電路是不通直接短路(short-circuit),馬上返回,并調用降級函數(如果提供的話),
有降級函數(getFallback())先調用降級函數,沒有直接拋異常(Exception Thrown)
降級函數也有可能會出錯的,出錯就再次拋出異常
如果電路是通的,他會判斷,這個線程資源是否ok,隊列資源是否ok,如果不滿足,會限流,會拒絕你的請求,走上面一樣的路徑,也是走降級
如果通過前面,電路同并且資源滿足,就運行,運行時如果超時,也會走降級流程,
如果走到最后(Success?)成功的話,他會獲取正確的Response,回到調用端,
如果這步出錯也是走降級這個路
任何環節都會以(Metric形式)反饋給(Calculate Circuit Health)計算電路健康組件,最后他會統計這些,反饋給內部的熔斷器電路判斷組件(Circuit open?),來判斷,下次是打開電路還是直接熔斷電路