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