災難性雪崩效應
簡介
服務與服務之間的依賴性,故障會傳播,造成連鎖反應,會對整個微服務系統造成災難性的嚴重后果,這就是服務故障的“雪崩”效應。
原因
1.服務提供者不可用(硬件故障、程序bug、緩存擊穿、用戶大量請求) 2.重試加大流量(用戶重試,代碼邏輯重試) 3.服務調用者不可用(同步等待造成的資源耗盡)
綜上所述
在高并發訪問下,系統所依賴的服務的穩定性對系統的影響非常大,依賴有很多不可控的因素,比如網絡連接變慢,資源突然繁忙,暫時不可用,服務脫機等。 我們要構建穩定、可靠的分布式系統,就必須要有一套容錯方法
雪崩效應解決方案
服務熔斷
當一個服務請求并發特別大,服務器已經招架不住了,調用錯誤率飆升,當錯誤率達到一定閾值后,就將這個服務熔斷了。 熔斷之后,后續的請求就不會再請求服務器了,以減緩服務器的壓力。 當失敗率(如因網絡故障/超時造成的失敗率高)達到閥值自動觸發降級,熔斷器觸發的快速失敗會進行快速恢復。
服務降級
介