Monolithic Architecture (單體式架構)
把 UI、業務邏輯、資料存取等所有模組打包成單一部署單元,共用一個程式與常見的集中式資料庫
模組間耦合度高,同一技術堆疊運行
差異 ⇒ Microservices (微服務)
優點
- 開發與部署簡單:只關注一個專案與流程,無服務間通訊與協調成本
- 基礎設施門檻低:通常不需複雜的負載均衡、服務監測與服務治理機制
- 資源共享方便:同一進程/主機可直接共享 CPU、記憶體與快取
- 一致性直覺:單庫+本地呼叫,無分散式交易與跨網路延遲
- 早期維護負擔小:功能少、邊界單純,小團隊/MVP 推進快
缺點
- 高耦合→效率與協作受阻:
- 不同功能緊密相依,改一處牽動多處;
- 新成員需理解整體結構與邏輯才能下手,導致開發效率低、團隊協作困難。
- 技術鎖定:
- 往往綁在同一生態(如 Java/.NET),難以局部導入新技術或工具,限制創新與演進速度。
- 複雜度累積→風險升高:
- 規模增長時,程式碼與依賴關係膨脹,修改成本高、更易引入 bug/安全漏洞。
- 擴展粗粒度:
- 單一熱點也常被迫整體擴容(浪費資源),啟動/建置時間變長,發佈風險集中。
何時適合用單體
- 產品早期、需求未定、小團隊與單一業務域;總流量不大、對 SRE/平台化要求不高。
- 目標是快速驗證與交付,把學習與運維曲線壓到最低。
Monolithic Architecture 是什麼 - Rororo - 程式筆記
雲端架構設計的四種範式 - 單體、微服務、巨石與無服務 | CodingMan.cc