雲端架構 基礎
雲端原生 (Cloud-Native) 應用的核心設計原則是什麼?
雲端原生的定義
雲端原生是一種充分利用雲端環境特性的軟體設計方式,讓應用能夠彈性擴縮、快速部署、高可用。
12-Factor App 關鍵原則
1. 程式碼庫 (Codebase):一份程式碼,多個部署環境
2. 依賴 (Dependencies):明確宣告並隔離依賴,不依賴系統環境預裝套件
3. 設定 (Config):設定儲存在環境變數中,不硬編碼(區分 dev/staging/prod)
4. 支援服務 (Backing Services):資料庫、快取、訊息佇列視為外部可替換資源,透過 URL/credentials 連接
5. 建置與執行分離:嚴格區分 Build → Release → Run 三個階段
6. 無狀態程序 (Stateless Processes):程序不保存狀態,Session 等狀態存至外部(Redis)
7. 連接埠綁定 (Port Binding):透過綁定連接埠提供服務,不依賴外部 Web 容器
8. 並發性 (Concurrency):透過增加程序數量(水平擴展)來處理更大負載
9. 快速啟動與優雅關閉 (Disposability):秒級啟動,收到 SIGTERM 後優雅停止處理中的請求
10. 環境一致性 (Dev/Prod Parity):開發、測試、生產環境盡量保持一致
11. 日誌 (Logs):將日誌視為事件流輸出至 stdout,由平台收集
12. 管理程序 (Admin Processes):資料庫 migration 等管理任務作為一次性程序執行
✦ AI 模擬面試
輸入你的答案,AI 即時分析精準度與改進空間
登入後即可使用 AI 評分
