電商平台架構
適合中小型電商的無伺服器架構,具備自動擴縮、全球 CDN 加速、關聯式資料庫與物件儲存。兼顧效能與成本,從日訂單數百到數萬無縫擴展。
使用者
│
▼
Cloud CDN ── Cloud Load Balancing
│
▼
Cloud Run (API)
┌─────┴─────┐
▼ ▼
Cloud SQL Cloud Storage
(PostgreSQL) (商品圖片/靜態) 使用服務
設計決策(為什麼這樣選?)
選擇 Cloud Run 而非 GKE:電商流量有明顯波峰波谷(如晚間、促銷),Cloud Run 可縮到零節省成本,且不需管理叢集。
選擇 Cloud SQL 而非 Spanner:中小型電商的資料量和 QPS 不需要 Spanner 的全球分散式能力,Cloud SQL 成本更低且 PostgreSQL 生態豐富。
Cloud CDN + Load Balancing 組合:CDN 快取靜態資源減少 Cloud Run 請求數(省錢),Load Balancing 提供 SSL、DDoS 防護和全球路由。
Cloud Storage 存圖片:比資料庫存 BLOB 便宜 10 倍以上,且可直接透過 CDN 加速分發。
實作步驟(8 步)
- 建立 Cloud SQL (PostgreSQL) 執行個體,設定 Private IP 與自動備份
- 建立 Cloud Storage bucket,設定 CORS 規則與生命週期管理
- 將電商 API 容器化(Dockerfile),部署到 Cloud Run
- 設定 Cloud Run 連接 Cloud SQL(使用 Cloud SQL Auth Proxy)
- 建立 External HTTP(S) Load Balancer,指向 Cloud Run 服務
- 在 Load Balancer 上啟用 Cloud CDN,設定快取規則
- 設定自訂域名與 SSL 憑證(Google-managed certificate)
- 設定 Cloud Monitoring 告警(錯誤率、延遲、SQL 連線數)
- Cloud Run vs App Engine vs GKE 選型是 ACE 必考題:無伺服器 + 容器 = Cloud Run
- Cloud SQL 支援 MySQL、PostgreSQL、SQL Server;需要全球一致性才選 Spanner
- Cloud CDN 只能搭配 External HTTP(S) Load Balancer 使用
- 考試常問「如何降低延遲」— CDN 是第一個要想到的答案