偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

阿里雙十一秒殺系統(tǒng)架構(gòu)設(shè)計(jì),有哪些關(guān)鍵點(diǎn)?

開(kāi)發(fā) 架構(gòu)
話說(shuō)馬上要到雙11了,就來(lái)談?wù)勅绾卧O(shè)計(jì)一個(gè)秒殺系統(tǒng)架構(gòu)?秒殺活動(dòng)只是網(wǎng)站營(yíng)銷的一個(gè)附加活動(dòng),特點(diǎn)是:時(shí)間短、并發(fā)訪問(wèn)量大,如果和網(wǎng)站原有應(yīng)用部署在一起,必然會(huì)對(duì)現(xiàn)有業(yè)務(wù)造成沖擊。解決方案:將秒殺系統(tǒng)獨(dú)立部署,甚至使用獨(dú)立域名,使其與網(wǎng)站完全隔離。

話說(shuō)馬上要到雙11了,就來(lái)談?wù)勅绾卧O(shè)計(jì)一個(gè)秒殺系統(tǒng)架構(gòu)?

[[248895]] 

技術(shù)挑戰(zhàn)

1. 對(duì)原有業(yè)務(wù)形成沖擊

秒殺活動(dòng)只是網(wǎng)站營(yíng)銷的一個(gè)附加活動(dòng),特點(diǎn)是:時(shí)間短、并發(fā)訪問(wèn)量大,如果和網(wǎng)站原有應(yīng)用部署在一起,必然會(huì)對(duì)現(xiàn)有業(yè)務(wù)造成沖擊。

解決方案:將秒殺系統(tǒng)獨(dú)立部署,甚至使用獨(dú)立域名,使其與網(wǎng)站完全隔離。

2. 高并發(fā)下數(shù)據(jù)庫(kù)、應(yīng)用負(fù)載

用戶在秒殺開(kāi)始前,通過(guò)不停刷新瀏覽器頁(yè)面以保證不會(huì)錯(cuò)過(guò)秒殺,這些請(qǐng)求如果按照一般的網(wǎng)站應(yīng)用架構(gòu),訪問(wèn)

應(yīng)用服務(wù)器、連接數(shù)據(jù)庫(kù),

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

解決方案:重新設(shè)計(jì)秒殺商品頁(yè)面,不使用網(wǎng)站原來(lái)的商品詳細(xì)頁(yè)面,頁(yè)面內(nèi)容靜態(tài)化,用戶請(qǐng)求不需要經(jīng)過(guò)

應(yīng)用服務(wù)

3. 突然增大的服務(wù)器和網(wǎng)絡(luò)帶寬

假設(shè)商品頁(yè)面大小200K,10000個(gè)請(qǐng)求的帶寬就是2G。

解決方案:因?yàn)槊霘⑿略龅木W(wǎng)絡(luò)帶寬,必須和運(yùn)營(yíng)商重新購(gòu)買(mǎi)或者租借。為了減輕網(wǎng)站服務(wù)器的壓力,

需要將秒殺商品頁(yè)面緩存到CDN

4. 防止秒殺前下單

秒殺的游戲規(guī)則是到了秒殺才能開(kāi)始對(duì)商品下單購(gòu)買(mǎi),在此時(shí)間點(diǎn)之前,只能瀏覽商品信息,不能下單。而下單頁(yè)面也是一個(gè)普通的URL,如果得到這個(gè)URL,不用等到秒殺開(kāi)始就可以下單了。

解決方案:為了避免用戶直接訪問(wèn)下單頁(yè)面URL,需要將改URL動(dòng)態(tài)化,即使秒殺系統(tǒng)的開(kāi)發(fā)者也無(wú)法在秒殺開(kāi)始前訪問(wèn)下單頁(yè)面的URL。辦法是在下單頁(yè)面URL加入由服務(wù)器端生成的隨機(jī)數(shù)作為參數(shù),在秒殺開(kāi)始的時(shí)候才能得到。

應(yīng)對(duì)策略

1. 獨(dú)立部署

和原有業(yè)務(wù)部署在不同服務(wù)器,防止高并發(fā)拖垮整個(gè)網(wǎng)站

2. 頁(yè)面靜態(tài)化

將商品詳情、描述靜態(tài)化到頁(yè)面

3. 租借秒殺網(wǎng)絡(luò)帶寬

向運(yùn)營(yíng)商租借帶寬

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

無(wú)法在秒殺前訪問(wèn)下單頁(yè)面的URL:加入服務(wù)器端生成的隨機(jī)數(shù)作為參數(shù),在秒殺開(kāi)始前才能得到

架構(gòu)設(shè)計(jì)

1. 控制秒殺購(gòu)買(mǎi)頁(yè)面的點(diǎn)亮

購(gòu)買(mǎi)按鈕只有在活動(dòng)開(kāi)始的時(shí)候才能點(diǎn)亮,在此之前是灰色的。如果是動(dòng)態(tài)頁(yè)面,可以很容易解決這個(gè)問(wèn)題,但為了減輕服務(wù)器端負(fù)載壓力,

更好的利用CDN、反向代理等性能優(yōu)化手段,

該頁(yè)面被設(shè)計(jì)為靜態(tài)頁(yè)面,緩存在CDN、反向代理服務(wù)器上,甚至用戶瀏覽器上。秒殺開(kāi)始時(shí),用戶刷新頁(yè)面,請(qǐng)求根本不會(huì)到達(dá)應(yīng)用服務(wù)器。

解決方案:秒殺商品頁(yè)面加入一個(gè)javascript引用,該javascript中加入秒殺是否開(kāi)始的標(biāo)志和下單頁(yè)面URL的隨機(jī)數(shù)參數(shù),該javascript使用隨機(jī)版本號(hào),不可被瀏覽器緩存。

當(dāng)秒殺開(kāi)始時(shí),生成一個(gè)新的javascript文件并被用戶瀏覽器加載。

阿里雙十一秒殺系統(tǒng)架構(gòu)設(shè)計(jì),有哪些關(guān)鍵點(diǎn)? 

2. 允許***個(gè)訂單提交

秒殺開(kāi)始,由于最終能夠成功秒殺到商品的用戶只有一個(gè),因此需要在用戶提交訂單時(shí),檢查是否已經(jīng)有訂單提交。

解決方案:為了減輕下單頁(yè)面服務(wù)器的負(fù)載壓力,可以控制進(jìn)入下單頁(yè)面入口,只有先提交的少數(shù)用戶可進(jìn)入,后邊的用戶直接進(jìn)入秒殺結(jié)束頁(yè)面。

阿里雙十一秒殺系統(tǒng)架構(gòu)設(shè)計(jì),有哪些關(guān)鍵點(diǎn)? 

阿里雙十一秒殺系統(tǒng)架構(gòu)設(shè)計(jì),有哪些關(guān)鍵點(diǎn)? 

下單服務(wù)器檢查本機(jī)已處理的下單請(qǐng)求數(shù)目

*如果超過(guò)10條,直接返回已結(jié)束頁(yè)面給用戶;

*如果未超過(guò)10條,則用戶可進(jìn)入填寫(xiě)訂單及確認(rèn)頁(yè)面;

檢查全局已提交訂單數(shù)目

*已超過(guò)秒殺商品總數(shù),返回已結(jié)束頁(yè)面給用戶;

*未超過(guò)秒殺商品總數(shù),提交到子訂單系統(tǒng)。

這樣就大大地減少了數(shù)據(jù)庫(kù)的負(fù)載壓力。 

責(zé)任編輯:龐桂玉 來(lái)源: 今日頭條
相關(guān)推薦

2024-08-16 10:11:24

2013-08-22 09:36:45

阿里巴巴王堅(jiān)阿里云

2020-12-02 06:14:35

秒殺系統(tǒng)

2019-09-17 10:51:12

架構(gòu)K8節(jié)點(diǎn)

2021-04-28 08:52:22

高并發(fā)架構(gòu)設(shè)高并發(fā)系統(tǒng)

2016-10-24 18:13:48

2022-08-31 18:51:00

DevOps軟件開(kāi)發(fā)

2013-11-14 09:41:30

2019-11-11 15:55:46

Java技術(shù)Redis

2013-11-07 17:35:00

阿里COO雙十一阿里巴巴

2014-11-10 21:50:54

阿里巴巴雙十一

2018-11-27 16:11:01

阿里云Redis數(shù)據(jù)庫(kù)

2014-11-06 13:38:08

阿里云

2013-01-10 11:32:12

阿里云雙十一云計(jì)算

2020-11-09 09:58:49

架構(gòu)雙十一開(kāi)發(fā)

2022-03-11 21:35:57

Java程序線程

2023-07-05 08:00:52

MetrAuto系統(tǒng)架構(gòu)

2024-02-20 09:25:28

架構(gòu)設(shè)計(jì)系統(tǒng)

2023-04-07 17:44:43

2017-08-14 16:14:57

云原生容器云平臺(tái)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)