跳至主要内容

🌧️ 容錯設計

微服務 VS 單體服務

單體服務

一發生錯誤,就全部服務故障

微服務

  • 每個服務都跑在獨立的 Process
  • 一個服務故障後,其他服務不會受影響

微服務設計錯誤有可能會造成,某個服務故障,導致其他依賴它的服務逐漸癱瘓,

造成故障蔓延,最後導致所有系統癱瘓。

因此在微服務的設計中,應該要可以快速檢測故障的原因,並且自動復歸

微服務的設計演進

微服務架構特點

需要考慮多方面的設計和成本,對於缺乏經驗的團隊來說,實施完美的微服務架構可能比單體應用更費代價

漸進式構建

許多情況下,架構師會選擇以漸進的方式建構系統

初期可能採用單體系統設計和實施,因為系統初期較小,成本相對較低,且核心業務通常不會有大改變

微服務轉換

隨著系統成長和業務需求,架構師會將容易變動或具有時間效應的部分逐步轉換為微服務,進行分散處理,

同時會逐步拆分單體系統中多變的模塊

核心微服務

不易變動的模塊會形成核心微服務,穩定存在於整個架構中,這有助於保持穩定的基礎架構,並支援系統的穩定運作