🧩 微服務架構
📖 定義
微服務架構(MSA, Microservices Architecture)是將一個大型應用程式拆分為多個小型且獨立的服務來開發和部署的架構模式。每個服務負責特定的業務功能,可以獨立部署和擴展。與單體式(Monolithic)架構不同,透過服務間的鬆散耦合提供靈活性和可擴展性。
🎯 透過比喻理解
大型企業 vs 新創公司
單體式 = 大型企業
├─ 所有部門在同一棟建築
├─ 集中式管理
├─ 一個部門問題 → 影響整體
├─ 變更困難
└─ 決策緩慢
微服務 = 新創公司聯盟
├─ 每個團隊有獨立辦公室
├─ 自主決策
├─ 一個團隊問題 → 其他團隊正常運作
├─ 快速變更
└─ 靈活擴展
樂高 vs 黏土
單體式 = 黏土塊
┌──────────────────────────────┐
│ 使用者 │ 商品 │ 訂單 │
│ 管理 │ 管理 │ 管理 │
│ 全部一體 │
└────────────────────────── ────┘
- 需要重新製作整體
- 修改一部分 → 影響整體
- 擴展困難
微服務 = 樂高積木
┌─────┐ ┌─────┐ ┌─────┐
│使用者│ │ 商品│ │ 訂單│
│服務 │ │服務 │ │服務 │
└─────┘ └─────┘ └─────┘
- 易於更換積木
- 獨立修改
- 只擴展需要的部分