簡單的服務熔斷方案

參考Servlet規範中,處理請求時出現異常,異常處理的方式。能夠設計一個分佈式環境下,簡單的熔斷方案。
遠程的服務能夠拋出UnavailableException。當遠程服務接口拋出UnavailableException時,處理好異常相關的工做。在此之上,根據異常時暫時的,仍是永久的來保護服務。
若是是臨時服務不可用,異常中應該帶有不可用持續的時間長度,那麼在此期間再有新的請求須要調用此接口,應該不調用此接口,直接返回失敗。
若是是永久不可用,那麼應該標記該接口永久不可用。任什麼時候候有請求須要訪問此接口都應該直接返回失敗。
這個簡單的熔斷方案,能夠避免在分佈式環境下發現服務的雪崩效應。
可是,這個方案也存在一個問題,就是當遠程服務完全什麼都不能返回時,應該怎麼辦。能夠採用傳統的方式,屢次服務異常時標記服務不可用。調用時直接返回不可用。這樣就統一了異常的處理。分佈式

相關文章
相關標籤/搜索