一. 秒殺活動的技術(shù)挑戰(zhàn)
- 對現(xiàn)有網(wǎng)站業(yè)務(wù)造成沖擊:秒殺只是一個附加活動,如何和原有應(yīng)用部署在一起,可能會對現(xiàn)有業(yè)務(wù)造成沖擊
- 高并發(fā)下的應(yīng)用、數(shù)據(jù)庫負(fù)載
- 突然增加的網(wǎng)絡(luò)及服務(wù)器帶寬
- 直接下單:下單頁面只是一個普通URL,不能泄露這個URL
二. 秒殺系統(tǒng)的應(yīng)對策略
- 秒殺系統(tǒng)獨立部署
- 秒殺商品頁面靜態(tài)化:使得用戶請求不需要經(jīng)過應(yīng)用服務(wù)的業(yè)務(wù)邏輯處理,也不需要訪問數(shù)據(jù)庫
- 租借秒殺活動網(wǎng)絡(luò)帶寬(將秒殺頁面緩存在CDN)
- 動態(tài)生成隨機(jī)下單URL:在下單頁面URL加入由服務(wù)端生成的隨機(jī)數(shù)作為參數(shù),秒殺開始才可以得到
三. 秒殺系統(tǒng)架構(gòu)設(shè)計
秒殺界面應(yīng)該盡量簡單,而且最后只有第一個提交的訂單發(fā)送給網(wǎng)站的訂單子系統(tǒng)
-
如何控制秒殺商品頁面購買按鈕的點亮:使用js腳本控制,js中加入秒殺是否可以和下單頁面URL的隨機(jī)數(shù)參數(shù),當(dāng)秒殺開始的時候生成一個新的js文件被用戶瀏覽器加載,控制秒殺商品頁面的展示。
image.png -
如何只允許第一個提交的訂單被發(fā)送到訂單子系統(tǒng):控制進(jìn)入下單頁面的入口,只有少數(shù)用戶能進(jìn)入下單頁面,其他用戶直接進(jìn)入秒殺結(jié)束頁面。
image.png
image.png


