白話:服務降級與熔斷的區(qū)別
雖然之前在《Spring Cloud構建微服務架構》系列文章中介紹了Hystrix服務降級與Hystrix斷路器的概念。但是,還是一直收到這樣的提問:降級與熔斷區(qū)別是什么?并且在很多交流過程中,發(fā)現(xiàn)有不少童鞋對降級和熔斷的概念有混淆的情況。所以,這篇博文準備換一種方式來說說這兩個概念,以幫助讀者更好的理解之前兩篇文章中介紹的這兩個重要知識。
下面通過一個日常的故事來說明一下什么是服務降級,什么是熔斷。
故事的背景是這樣的:由于小強在工作中碰到一些問題,于是想請教一下業(yè)界大牛小壯。于是發(fā)生了下面的兩個場景:
小強在拿起常用手機撥號時發(fā)現(xiàn)該手機沒有能夠撥通,所以就拿出了備用手機撥通了某A的電話,這個過程就叫做降級(主邏輯失敗采用備用邏輯的過程)。
由于每次小壯的解釋都屬于長篇大論,不太容易理解,所以小強每次找小壯溝通的時候都希望通過常用手機來完成,因為該手機有錄音功能,這樣自己可以慢慢消化。由于上一次的溝通是用備用電話完成的,小強又碰到了一些問題,于是他又嘗試用常用電話撥打,這一次又沒有能夠撥通,所以他不得不又拿出備用手機給某A撥號,就這樣連續(xù)的經(jīng)過了幾次在撥號設備選擇上的“降級”,小強覺得短期內常用手機可能因為運營商問題無法正常撥通了,所以,再之后一段時間的交流中,小強就不再嘗試用常用手機進行撥號,而是直接用備用手機進行撥號,這樣的策略就是熔斷(常用手機因短期內多次失敗,而被暫時性的忽略,不再嘗試使用)。
通過上面的故事,讀者是否可以更容易地理解降級與熔斷的區(qū)別和關系呢?其實這里還有一個知識點并沒有提及,那就是在熔斷之后,主邏輯的自動恢復,該內容其實在之前的Hystrix斷路器一文中詳細的描述,有興趣的讀者不妨回頭看一下這篇文章的內容。
【本文為51CTO專欄作者“翟永超”的原創(chuàng)稿件,轉載請通過51CTO聯(lián)系作者獲取授權】