网购秒杀系统架构设计
??秒殺是電子商務(wù)網(wǎng)站常見(jiàn)的一種營(yíng)銷(xiāo)手段:將少量的商品以極低的價(jià)格,在特定的時(shí)間點(diǎn)開(kāi)始出售。秒殺對(duì)網(wǎng)站的推廣有很多好處,也能給消費(fèi)者帶來(lái)利益,但是對(duì)網(wǎng)站技術(shù)卻是極大的挑戰(zhàn):網(wǎng)站是為正常運(yùn)營(yíng)設(shè)計(jì)的,而秒殺活動(dòng)帶來(lái)的并發(fā)訪問(wèn)用戶(hù)卻是平時(shí)的百倍甚至上千倍。網(wǎng)站如果為秒殺時(shí)的高并發(fā)量進(jìn)行設(shè)計(jì)部署,就需要比正常運(yùn)營(yíng)多得多的服務(wù)器,而這些服務(wù)器在絕大多數(shù)時(shí)候都是用不著的,梁飛驚人。所以網(wǎng)站的秒殺業(yè)務(wù)不能使用正常的網(wǎng)站業(yè)務(wù)流程,也不能和正常的網(wǎng)站交易業(yè)務(wù)公用服務(wù)器,必須設(shè)計(jì)部署專(zhuān)門(mén)的秒殺系統(tǒng)。
一、秒殺活動(dòng)的技術(shù)挑戰(zhàn)
二、秒殺系統(tǒng)的應(yīng)對(duì)策略
1. 秒殺系統(tǒng)獨(dú)立部署
??為了防止秒殺活動(dòng)的高并發(fā)量訪問(wèn)而拖垮整個(gè)網(wǎng)站,使整個(gè)網(wǎng)站不必面對(duì)蜂擁而來(lái)的用戶(hù)訪問(wèn),可將秒殺系統(tǒng)獨(dú)立部署;也可以使用獨(dú)立的域名,使其與網(wǎng)站完全隔離,即使秒殺系統(tǒng)崩潰了,也不會(huì)對(duì)網(wǎng)站造成任何的影響。
2. 秒殺商品頁(yè)面頁(yè)面靜態(tài)化
??將商品描述、商品參數(shù)、成交記錄和用戶(hù)評(píng)價(jià)全部寫(xiě)入一個(gè)靜態(tài)頁(yè)面,用戶(hù)請(qǐng)求不需要經(jīng)過(guò)應(yīng)用服務(wù)器的業(yè)務(wù)邏輯處理,也不需要訪問(wèn)數(shù)據(jù)庫(kù)。所以秒殺商品服務(wù)不需要部署動(dòng)態(tài)的Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器。
3. 租借秒殺活動(dòng)網(wǎng)絡(luò)寬帶
??因?yàn)槊霘⑿略龅木W(wǎng)絡(luò)寬帶,必須和運(yùn)營(yíng)商重新購(gòu)買(mǎi)或者租借。為了減輕網(wǎng)站服務(wù)器的壓力,需要將秒殺商品頁(yè)面緩存在CDN,同樣需要和CDN服務(wù)商臨時(shí)租借新增的出口寬帶。
4. 動(dòng)態(tài)生成隨機(jī)下單頁(yè)面URL
??為了避免用戶(hù)直接訪問(wèn)下單頁(yè)面的URL,需要將URL動(dòng)態(tài)化,即使秒殺系統(tǒng)的開(kāi)發(fā)者也無(wú)法在秒殺活動(dòng)之前訪問(wèn)下單頁(yè)面的URL。辦法是在下單頁(yè)面的URL加入由服務(wù)器端生成的隨機(jī)數(shù)作為參數(shù),在秒殺活動(dòng)開(kāi)始的時(shí)候才能得到。
三、秒殺系統(tǒng)架構(gòu)設(shè)計(jì)
??秒殺系統(tǒng)是為了秒殺而設(shè)計(jì)的,用戶(hù)注重的是如何快速刷新界面,并且在第一時(shí)間搶先進(jìn)入秒殺界面秒殺成功,而商品詳情評(píng)價(jià)等并不是用戶(hù)最注重的,因此秒殺系統(tǒng)的界面應(yīng)該設(shè)計(jì)的盡可能簡(jiǎn)單。
1. 如何控制秒殺商品頁(yè)面購(gòu)買(mǎi)按鈕的點(diǎn)亮
??解決辦法:使用JavaScript腳本控制。在秒殺商品靜態(tài)頁(yè)面中加入一個(gè)JavaScript文件引用,該JavaScript文件中加入秒殺是否開(kāi)始的標(biāo)志和下單頁(yè)面URL的隨機(jī)數(shù)參數(shù),當(dāng)秒殺開(kāi)始的時(shí)候生成一個(gè)新的JavaScript文件冰杯用戶(hù)瀏覽器加贊,控制秒殺商品頁(yè)面的展示。
2. 如何只允許第一個(gè)提交的訂單被發(fā)送到訂單子系統(tǒng)
??為了減輕下單頁(yè)面服務(wù)器的敷在壓力,可以控制進(jìn)入下單頁(yè)面的入口,只有少數(shù)用戶(hù)能進(jìn)入下單頁(yè)面,其他用戶(hù)直接進(jìn)入秒殺結(jié)束的頁(yè)面。如圖:
參考自:《大型網(wǎng)站技術(shù)架構(gòu).核心原理與案例分析》
最近發(fā)現(xiàn) 心稍微一急 或者心里惦記個(gè)啥事兒,就頭疼發(fā)燒…(做鬼臉的表情)say byebye…
總結(jié)
以上是生活随笔為你收集整理的网购秒杀系统架构设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Mac OS 使用远程桌面登录服务器
- 下一篇: 汽车结构之仪表