系統設計 中階

微服務 vs 單體架構:如何做技術選型?

AI 練習作答

微服務 vs 單體架構

單體架構(Monolith)

所有功能打包在一個可部署單元

優點

  • 開發簡單、易 debug(本地執行整個系統)
  • 部署簡單(一個二進位檔)
  • 跨模組呼叫為函數呼叫,延遲極低

缺點

  • 擴展受限(必須整體擴展)
  • 模組間易產生隱性耦合
  • 大型團隊協作困難

微服務架構

服務按業務能力切分,獨立部署、獨立擴展

優點

  • 獨立部署與擴展
  • 技術多樣性(各服務可用不同語言)
  • 故障隔離

缺點

  • 分散式系統複雜度(網路延遲、分散式交易)
  • 運維成本高(需要 K8s、Service Mesh、分散式 Tracing)
  • 服務間通訊需要設計(API / 事件)

選型建議

情境 建議
新創、小團隊、MVP Monolith(模組化)
系統成長、團隊 > 30人 考慮拆分
各模組擴展需求差異大 微服務

面試加分:Martin Fowler 建議「Monolith First」——先建好模組化的單體,等邊界清楚了再拆微服務,避免過早優化帶來的高複雜度。

✦ AI 模擬面試

輸入你的答案,AI 即時分析精準度與改進空間

登入後即可使用 AI 評分