# 微服務架構設計 - 回退 Fallback Pattern


# 前言

在微服務系統中,有時候會發生一些服務單元 Offline 或是異常等情況,那當真的異常發生了,呼叫端應該怎麼去處理呢。


# 簡單解釋

事實上這時候當呼叫端收到服務單元的錯誤時候,不會馬上跟著 Throw Exception 而是執行預先定義的替代程式並且嘗試透過其他方法執行,通常會從其他地方查詢資料,或是將 Request 儲存到 Queue 等待處理,所以呼叫端通常不會顯示異常,但是我們可以通知呼叫端請稍後再試。


# 案例情境

假設有個電商平台,可以根據消費者行為偏好來推斷他們可能有興趣的商品,通常網站會呼叫這相關的服務酖原來分析過往消肥型為,並且回傳給予消費者量身打造的推薦商品列表,那如果這個推薦功能發生異常了,Fallback 機制處理可能是提供消費者相似產品的推薦表,更普遍而非量身訂做的列表 (由其他服務單元處理)。


# 參考資料

  • 書籍 - 微服務開發指南|使用 Spring Cloud 與 Docker
更新於