成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

秒殺系統(tǒng)架構(gòu)如何設(shè)計(jì)之我見

zhunjiee / 2804人閱讀

摘要:即使秒殺系統(tǒng)崩潰了,也不會(huì)對(duì)網(wǎng)站造成影響。動(dòng)態(tài)生成隨機(jī)下單頁(yè)面的為了避免用戶直接訪問下單需要將動(dòng)態(tài)化,用隨機(jī)數(shù)作為參數(shù),只能秒殺開始的時(shí)候才生成。架構(gòu)設(shè)計(jì)如何控制秒殺商品頁(yè)面搶購(gòu)按鈕的可用禁用。該文件不被緩存的做法隨機(jī)數(shù)。

秒殺背景

電商中為了吸引顧客、聚集人氣,經(jīng)常會(huì)策劃一些秒殺活動(dòng)。活動(dòng)中售賣的商品,要么價(jià)格遠(yuǎn)低于市場(chǎng)價(jià)格,要么比較稀缺(如一些新發(fā)布的商品)。這些商品電商一般都會(huì)限量、限時(shí)銷售。無疑這些商品對(duì)消費(fèi)者的誘惑力是巨大的,消費(fèi)者蜂擁而來,往往幾秒鐘就可以將商品搶購(gòu)一空。而對(duì)于電商系統(tǒng)來說可能更多的是考驗(yàn)。

秒殺痛點(diǎn)

首先,秒殺的場(chǎng)景決定了秒殺是一場(chǎng)速度的比拼,也就是俗話說的“手快有、手慢無”。大家都爭(zhēng)著在活動(dòng)開始后,第一時(shí)間將商品搶到,完成下單。因此秒殺活動(dòng)開始的一瞬間會(huì)有大量的流量涌入,幾倍、甚至于十幾倍的流量對(duì)系統(tǒng)的沖擊不可謂不大。如果系統(tǒng)沒有足夠的capacity或應(yīng)對(duì)措施,很可能就被瞬時(shí)高流量給壓垮了。

其次,突如其來的高流量,給系統(tǒng)各個(gè)模塊都來了一連串的壓力,系統(tǒng)可能會(huì)因此變慢,而且可能會(huì)彼此影響,影響可用性。比如:數(shù)據(jù)庫(kù)更新同一個(gè)商品庫(kù)存,需對(duì)同一行記錄加鎖,隨著并發(fā)的壓力逐漸增大,數(shù)據(jù)庫(kù)更新的性能是逐漸下降的。從而引起提供庫(kù)存service的應(yīng)用服務(wù)性能下降,連鎖的影響到下單service的性能,最終反饋到消費(fèi)者的可能就是整個(gè)網(wǎng)站購(gòu)物流程性能差、響應(yīng)慢。而面對(duì)響應(yīng)慢的系統(tǒng),很多消費(fèi)者可能采取反復(fù)刷新,多次嘗試,這無疑又增大了對(duì)系統(tǒng)的壓力。

還有,上述種種給消費(fèi)者帶來的往往是體驗(yàn)上的痛苦。如:網(wǎng)站響應(yīng)慢,點(diǎn)擊搶購(gòu)按鈕沒反應(yīng)。好不容易可以操作了,卻發(fā)現(xiàn)秒殺活動(dòng)已經(jīng)結(jié)束,消費(fèi)者的參與感比較差。久而久之,可能就對(duì)此類活動(dòng)失去了興趣。

設(shè)計(jì)理念

分層限流:將壓力盡量集中在前端,減少數(shù)據(jù)庫(kù)、服務(wù)器的壓力
異步處理:異步處理防止阻塞。
可用性:高可用雙活。
用戶體驗(yàn):隱藏購(gòu)買地址。
分離:主站分離。

技術(shù)攻關(guān) 短時(shí)間內(nèi)的大訪問量對(duì)現(xiàn)有網(wǎng)站業(yè)務(wù)造成的沖擊。

秒殺是一個(gè)網(wǎng)站營(yíng)銷的一個(gè)附加活動(dòng),時(shí)間短,并發(fā)量大。

如果和網(wǎng)站原有應(yīng)用部署在一起,必然會(huì)對(duì)現(xiàn)有業(yè)務(wù)造成沖擊,稍有不慎可能導(dǎo)致整個(gè)網(wǎng)站癱瘓。

高并發(fā)下對(duì)服務(wù)器數(shù)據(jù)庫(kù)造成的極大負(fù)載壓力。

用戶秒殺開始前,通過不斷刷新瀏覽器來保證不會(huì)錯(cuò)過秒殺活動(dòng)。

頻繁的訪問程序、數(shù)據(jù)庫(kù)會(huì)對(duì)應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器造成負(fù)載壓力。

網(wǎng)絡(luò)帶寬的問題比超過平時(shí)好多倍。

如果秒殺頁(yè)面的大小為200K,如果最大并發(fā)數(shù)為10000次,那么需要的網(wǎng)絡(luò)和服務(wù)器帶寬是2G(200K×10000)。

這些網(wǎng)絡(luò)帶寬是因?yàn)槊霘⒒顒?dòng)新增的,超過網(wǎng)站平時(shí)使用的帶寬。

避免直接下單。

秒殺的游戲規(guī)則是到了秒殺才能開始對(duì)商品下單購(gòu)買,在此時(shí)間點(diǎn)之前,只能瀏覽信息不可下單。

而下單頁(yè)面也是一個(gè)普通的URL,如果得到這個(gè)URL,不用等到秒殺開始就可以下單了。

應(yīng)對(duì)策略 秒殺系統(tǒng)獨(dú)立部署

為了避免短時(shí)間內(nèi)的大訪問量對(duì)現(xiàn)有網(wǎng)站業(yè)務(wù)造成的沖擊,可以將秒殺系統(tǒng)獨(dú)立部署。

如果需要還可以使用獨(dú)立域名,使其與網(wǎng)站完全隔離。

即使秒殺系統(tǒng)崩潰了,也不會(huì)對(duì)網(wǎng)站造成影響。

秒殺商品頁(yè)面靜態(tài)化

將商品描述、參數(shù)、詳情,全部寫到一個(gè)靜態(tài)頁(yè)面,不用進(jìn)行程序的邏輯處理,不需訪問數(shù)據(jù)庫(kù)。

不用部署動(dòng)態(tài)的服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器。 租借秒殺活動(dòng)的網(wǎng)絡(luò)帶寬

因?yàn)槊霘⑿略龅木W(wǎng)絡(luò)帶寬,必須和運(yùn)營(yíng)商重新購(gòu)買或租借帶寬。

為了減輕服務(wù)器的壓力,需要將秒殺商品頁(yè)面緩存在CDN,同樣CDN服務(wù)器也需要臨時(shí)租借帶寬。

動(dòng)態(tài)生成隨機(jī)下單頁(yè)面的URL

為了避免用戶直接訪問下單URL,需要將URL動(dòng)態(tài)化,用隨機(jī)數(shù)作為參數(shù),只能秒殺開始的時(shí)候才生成。

架構(gòu)設(shè)計(jì) 如何控制秒殺商品頁(yè)面搶購(gòu)按鈕的可用/禁用。

購(gòu)買按鈕只有在秒殺開始的時(shí)候才能點(diǎn)亮,在此之前是灰色的,顯示活動(dòng)未開始。

如果頁(yè)面是動(dòng)態(tài)生成的,每次刷新都要請(qǐng)求服務(wù)器,那么勢(shì)必造成服務(wù)端的負(fù)載壓力。

如果頁(yè)面是靜態(tài)頁(yè)面的話,可以將頁(yè)面緩存在CDN,反向代理服務(wù)器上,甚至用戶瀏覽器上。

但是這樣,秒殺開始時(shí),用戶刷新頁(yè)面,根本請(qǐng)求不到應(yīng)用服務(wù)器。

解決方案:

使用JS腳本控制,在頁(yè)面中引用一個(gè)JS文件(文件極小),但是該文件不要被緩存。

該JS的作用是,包含秒殺開始標(biāo)志,修改樣式,生成下單頁(yè)面的URL及隨機(jī)參數(shù)。

該JS文件不被緩存的做法:xxx.js?v=隨機(jī)數(shù)。

會(huì)有一臺(tái)服務(wù)器進(jìn)行監(jiān)控(定時(shí)上下架):

當(dāng)秒殺活動(dòng)開始時(shí)推送該文件。

當(dāng)秒殺活動(dòng)結(jié)束時(shí)推送文件,標(biāo)示結(jié)束標(biāo)志,修改樣式。

詳情:2018-01-27 20:00 實(shí)戰(zhàn)構(gòu)建PHP千萬級(jí)PV秒殺系統(tǒng) 講堂

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/61928.html

相關(guān)文章

  • 秒殺系統(tǒng)架構(gòu)如何設(shè)計(jì)我見

    摘要:即使秒殺系統(tǒng)崩潰了,也不會(huì)對(duì)網(wǎng)站造成影響。動(dòng)態(tài)生成隨機(jī)下單頁(yè)面的為了避免用戶直接訪問下單需要將動(dòng)態(tài)化,用隨機(jī)數(shù)作為參數(shù),只能秒殺開始的時(shí)候才生成。架構(gòu)設(shè)計(jì)如何控制秒殺商品頁(yè)面搶購(gòu)按鈕的可用禁用。該文件不被緩存的做法隨機(jī)數(shù)。 秒殺背景 電商中為了吸引顧客、聚集人氣,經(jīng)常會(huì)策劃一些秒殺活動(dòng)?;顒?dòng)中售賣的商品,要么價(jià)格遠(yuǎn)低于市場(chǎng)價(jià)格,要么比較稀缺(如一些新發(fā)布的商品)。這些商品電商一般都會(huì)限...

    zhkai 評(píng)論0 收藏0
  • 秒殺系統(tǒng)架構(gòu)如何設(shè)計(jì)我見

    摘要:即使秒殺系統(tǒng)崩潰了,也不會(huì)對(duì)網(wǎng)站造成影響。動(dòng)態(tài)生成隨機(jī)下單頁(yè)面的為了避免用戶直接訪問下單需要將動(dòng)態(tài)化,用隨機(jī)數(shù)作為參數(shù),只能秒殺開始的時(shí)候才生成。架構(gòu)設(shè)計(jì)如何控制秒殺商品頁(yè)面搶購(gòu)按鈕的可用禁用。該文件不被緩存的做法隨機(jī)數(shù)。 秒殺背景 電商中為了吸引顧客、聚集人氣,經(jīng)常會(huì)策劃一些秒殺活動(dòng)?;顒?dòng)中售賣的商品,要么價(jià)格遠(yuǎn)低于市場(chǎng)價(jià)格,要么比較稀缺(如一些新發(fā)布的商品)。這些商品電商一般都會(huì)限...

    HmyBmny 評(píng)論0 收藏0
  • 《CDN 我見》系列二:原理篇(緩存、安全)

    摘要:真正要做高性能的系統(tǒng),不僅需要在數(shù)據(jù)結(jié)構(gòu)與算法層面深入,更要從硬件操作系統(tǒng)文件系統(tǒng)底層原理等多個(gè)領(lǐng)域做更多的研究例如阿里云自研的系統(tǒng)使用了裸盤技術(shù)。 《CDN之我見》共由三個(gè)篇章組成,分為原理篇、詳解篇和隕坑篇。本篇章適合那些從未接觸過、或僅了解一些 CDN 專業(yè)術(shù)語,想深入了解和感受 CDN 究竟是什么的同學(xué)。本次由白金老師繼續(xù)為大家分享《CDN之我見》系列二,主要講解緩存是什么、工...

    maxmin 評(píng)論0 收藏0
  • 《CDN 我見》系列二:原理篇(緩存、安全)

    摘要:真正要做高性能的系統(tǒng),不僅需要在數(shù)據(jù)結(jié)構(gòu)與算法層面深入,更要從硬件操作系統(tǒng)文件系統(tǒng)底層原理等多個(gè)領(lǐng)域做更多的研究例如阿里云自研的系統(tǒng)使用了裸盤技術(shù)。 《CDN之我見》共由三個(gè)篇章組成,分為原理篇、詳解篇和隕坑篇。本篇章適合那些從未接觸過、或僅了解一些 CDN 專業(yè)術(shù)語,想深入了解和感受 CDN 究竟是什么的同學(xué)。本次由白金老師繼續(xù)為大家分享《CDN之我見》系列二,主要講解緩存是什么、工...

    rainyang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<