雖然之前在《spring cloud構建微服務架構》系列文章中介紹了hystrix服務降級與hystrix斷路器的概念。但是,還是一直收到這樣的提問:降級與熔斷區別是什麼?並且在很多交流過程中,發現有不少童鞋對降級和熔斷的概念有混淆的情況。所以,這篇博文準備換一種方式來說說這兩個概念,以幫助讀者更好的理解之前兩篇文章中介紹的這兩個重要知識。
下面通過乙個日常的故事來說明一下什麼是服務降級,什麼是熔斷。
故事的背景是這樣的:由於小強在工作中碰到一些問題,於是想請教一下業界大牛小壯。於是發生了下面的兩個場景:
小強在拿起常用手機撥號時發現該手機沒有能夠撥通,所以就拿出了備用手機撥通了某a的**,這個過程就叫做降級(主邏輯失敗採用備用邏輯的過程)。
由於每次小壯的解釋都屬於長篇大論,不太容易理解,所以小強每次找小壯溝通的時候都希望通過常用手機來完成,因為該手機有錄音功能,這樣自己可以慢慢消化。由於上一次的溝通是用備用**完成的,小強又碰到了一些問題,於是他又嘗試用常用**撥打,這一次又沒有能夠撥通,所以他不得不又拿出備用手機給某a撥號,就這樣連續的經過了幾次在撥號裝置選擇上的「降級」,小強覺得短期內常用手機可能因為運營商問題無法正常撥通了,所以,再之後一段時間的交流中,小強就不再嘗試用常用手機進行撥號,而是直接用備用手機進行撥號,這樣的策略就是熔斷(常用手機因短期內多次失敗,而被暫時性的忽略,不再嘗試使用)。
通過上面的故事,讀者是否可以更容易地理解降級與熔斷的區別和關係呢?其實這裡還有乙個知識點並沒有提及,那就是在熔斷之後,主邏輯的自動恢復,該內容其實在之前的hystrix斷路器一文中詳細的描述,有興趣的讀者不妨回頭看一下這篇文章的內容。
服務降級與熔斷的區別
下面通過乙個日常的故事來說明一下什麼是服務降級,什麼是熔斷。故事的背景是這樣的 由於小強在工作中碰到一些問題,於是想請教一下業界大牛小壯。於是發生了下面的兩個場景 小強在拿起常用手機撥號時發現該手機沒有能夠撥通,所以就拿出了備用手機撥通了某a的 這個過程就叫做降級 主邏輯失敗採用備用邏輯的過程 由於...
服務熔斷與降級
服務熔斷的作用類似於我們家用的保險絲,當某服務出現不可用或響應超時的情況時,為了防止整個系統出現雪崩,暫時停止對該服務的呼叫。服務降級是從整個系統的負荷情況出發和考慮的,對某些負荷會比較高的情況,為了預防某些功能 業務場景 出現負荷過載或者響應慢的情況,在其內部暫時捨棄對一些非核心的介面和資料的請求...
服務降級 熔斷 限流的區別
系統將某些不重要的業務或介面的功能降低,可以只提供部分功能,也可以完全停到所有所有不重要的功能。降級的思想是丟車保帥。常見降級方式 降級是應對系統自身的故障,而熔斷的目的是應對外部系統的故障。比如a服務的x功能依賴b服務的某個介面,當b服務介面響應很慢時,a服務x功能的響應也會被拖慢,進一步導致了a...