秒殺活動的特點
1、持續時間短,但訪問衝擊量大;
2、業務的請求量遠遠大於售賣量,大部分是最終無法購買成功的請求;
3、秒殺往往價格便宜,因此各種非法作弊手段層出。
設計原則
1、盡力將請求攔截在系統上游,如驗證碼等;
2、商品信息設計成靜態頁,保存在CDN或代理服務器;
3、開始前,按鈕置灰,搶購一次後按鈕置灰,避免重複提交;
4、秒殺系統獨立部署,負載均衡,避免單點壓力過大;
5、識別用戶身份,分析用戶行爲,記錄用戶ip,增加黑名單過濾,避免刷單;
6、爲全部商品信息構建緩存,並提前預熱,同時建立庫存緩存;
7、用戶搶到商品後,要進行庫存、下單、支付等後續的落地操作,系統可以通過消息隊列消費處理變更數據庫信息。
防止超賣
通過分佈式鎖、數據庫樂觀鎖來避免。