服務(wù)之間的依賴關(guān)系,如果有被依賴的服務(wù)掛了以后,造成其它服務(wù)也會出現(xiàn)請求堆積、資源占用,慢慢擴(kuò)散到所有服務(wù),引發(fā)雪崩效應(yīng)。
而容錯就是要解決這類問題,常見的方式:
主動超時:Http請求主動設(shè)置一個超時時間,超時就直接返回,不會造成服務(wù)堆積限流:限制最大并發(fā)數(shù)熔斷:當(dāng)錯誤數(shù)超過閾值時快速失敗,不調(diào)用后端服務(wù),同時隔一定時間放幾個請求去重試后端服務(wù)是否能正常調(diào)用,如果成功則關(guān)閉熔斷狀態(tài),失敗則繼續(xù)快速失敗,直接返回。(此處有個重試,重試就是彈性恢復(fù)的能力)隔離:把每個依賴或調(diào)用的服務(wù)都隔離開來,防止級聯(lián)失敗引起整體服務(wù)不可用降級:服務(wù)失敗或異常后,返回指定的默認(rèn)信息