電商與零售
大促前擴容、活動後釋放;圖片走物件儲存與 CDN,交易資料放在高可用數據庫,入口有 WAF 把關。
挑戰
- 01流量集中在少數活動日,平時資源過剩。
- 02商品圖片數量大,直接由伺服器輸出拖慢頁面。
- 03登入、下單界面常被撞庫與惡意爬蟲盯上。
參考架構
上線步驟
- 01
先把入口守住
CDN 加 WAF 與 SSL,把圖片、腳本與爬蟲流量擋在源站之前。
- 02
應用與資料分層
應用放在可水平擴充的雲伺服器,訂單進雲數據庫,購物車與工作階段進快取。
- 03
活動前壓測
按預估流量做一次壓測,找出瓶頸,提前加開伺服器。
- 04
活動後縮回
活動結束後縮回日常規模,只為真正用到的資源付費。
客戶怎麼用
一家賣到東南亞的家居電商
- 之前
- 每次大促網站都會變慢,圖片載入要好幾秒,結賬偶爾失敗,客服整晚在道歉。
- 之後
- 靜態資源全部走 CDN,數據庫讀寫分離,活動前一週壓測並預先擴容。今年雙十一的峰值流量是平日的十倍,頁面依然在一秒內打開。
10×
活動峰值流量
< 1 秒
首頁載入
0
結賬失敗投訴
設計要點
快取放前面
商品詳情與庫存查詢先過雲記憶體 Redis,數據庫只處理寫入與必要讀取。
數據庫用高可用版
主備自動切換,大促期間單一節點故障不會中斷下單。
圖片不經應用伺服器
上傳直接寫入物件儲存,由 CDN 分發。