1、秒殺的特點
- 瞬時併發量大
- 庫存量少
- 業務簡單
2、技術難點
高性能
- 併發讀寫
- 動靜分離
- 限流削峯
一致性
- 防止超讀
高可用
- 獨立部署
- 防止雪崩
- 最壞方案
3、秒殺架構設計思路
- 限流
- 降級
- 削峯填谷
- 異步處理
- 內存緩存
4、秒殺架構設計——前端
- 頁面靜態化(動靜分離)
- Web Server 單獨部署
- 靜態數據緩存
- CDN
- 瀏覽器
- 服務端緩存
- 數據壓縮合併
- css、js壓縮
- 合併成一個文件、解析稱爲一個url
- 圖片壓縮
- 禁止重複提交
5、秒殺架構設計——後端
- 限流
- 只有少部分用戶能夠秒殺成功,所以要限制大部分流量
- 前端限流
- 後端限流
- 降級
- 按照系統來區分級別(0~3),0級是強依賴
- 極端情況下級別低的系統,做降級處理,保護核心系統
- 削峯填谷
- 把瞬間的高流量變成一段時間內平穩的流量,利用消息隊列泄洪,把同步調用準換爲異步調用
- 分層過濾,(CDN、緩存)