自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

阿里雙十一秒殺系統(tǒng)架構設計,有哪些關鍵點?

開發(fā) 架構
話說馬上要到雙11了,就來談談如何設計一個秒殺系統(tǒng)架構?秒殺活動只是網站營銷的一個附加活動,特點是:時間短、并發(fā)訪問量大,如果和網站原有應用部署在一起,必然會對現有業(yè)務造成沖擊。解決方案:將秒殺系統(tǒng)獨立部署,甚至使用獨立域名,使其與網站完全隔離。

話說馬上要到雙11了,就來談談如何設計一個秒殺系統(tǒng)架構?

[[248895]] 

技術挑戰(zhàn)

1. 對原有業(yè)務形成沖擊

秒殺活動只是網站營銷的一個附加活動,特點是:時間短、并發(fā)訪問量大,如果和網站原有應用部署在一起,必然會對現有業(yè)務造成沖擊。

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

2. 高并發(fā)下數據庫、應用負載

用戶在秒殺開始前,通過不停刷新瀏覽器頁面以保證不會錯過秒殺,這些請求如果按照一般的網站應用架構,訪問

應用服務器、連接數據庫,

會對應用服務器和數據庫服務器造成負載壓力。

解決方案:重新設計秒殺商品頁面,不使用網站原來的商品詳細頁面,頁面內容靜態(tài)化,用戶請求不需要經過

應用服務

3. 突然增大的服務器和網絡帶寬

假設商品頁面大小200K,10000個請求的帶寬就是2G。

解決方案:因為秒殺新增的網絡帶寬,必須和運營商重新購買或者租借。為了減輕網站服務器的壓力,

需要將秒殺商品頁面緩存到CDN

4. 防止秒殺前下單

秒殺的游戲規(guī)則是到了秒殺才能開始對商品下單購買,在此時間點之前,只能瀏覽商品信息,不能下單。而下單頁面也是一個普通的URL,如果得到這個URL,不用等到秒殺開始就可以下單了。

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

應對策略

1. 獨立部署

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

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

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

3. 租借秒殺網絡帶寬

向運營商租借帶寬

4. 動態(tài)生成隨機下單頁面URL

無法在秒殺前訪問下單頁面的URL:加入服務器端生成的隨機數作為參數,在秒殺開始前才能得到

架構設計

1. 控制秒殺購買頁面的點亮

購買按鈕只有在活動開始的時候才能點亮,在此之前是灰色的。如果是動態(tài)頁面,可以很容易解決這個問題,但為了減輕服務器端負載壓力,

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

該頁面被設計為靜態(tài)頁面,緩存在CDN、反向代理服務器上,甚至用戶瀏覽器上。秒殺開始時,用戶刷新頁面,請求根本不會到達應用服務器。

解決方案:秒殺商品頁面加入一個javascript引用,該javascript中加入秒殺是否開始的標志和下單頁面URL的隨機數參數,該javascript使用隨機版本號,不可被瀏覽器緩存。

當秒殺開始時,生成一個新的javascript文件并被用戶瀏覽器加載。

阿里雙十一秒殺系統(tǒng)架構設計,有哪些關鍵點? 

2. 允許***個訂單提交

秒殺開始,由于最終能夠成功秒殺到商品的用戶只有一個,因此需要在用戶提交訂單時,檢查是否已經有訂單提交。

解決方案:為了減輕下單頁面服務器的負載壓力,可以控制進入下單頁面入口,只有先提交的少數用戶可進入,后邊的用戶直接進入秒殺結束頁面。

阿里雙十一秒殺系統(tǒng)架構設計,有哪些關鍵點? 

阿里雙十一秒殺系統(tǒng)架構設計,有哪些關鍵點? 

下單服務器檢查本機已處理的下單請求數目

*如果超過10條,直接返回已結束頁面給用戶;

*如果未超過10條,則用戶可進入填寫訂單及確認頁面;

檢查全局已提交訂單數目

*已超過秒殺商品總數,返回已結束頁面給用戶;

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

這樣就大大地減少了數據庫的負載壓力。 

責任編輯:龐桂玉 來源: 今日頭條
相關推薦

2024-08-16 10:11:24

2020-12-02 06:14:35

秒殺系統(tǒng)

2013-08-22 09:36:45

阿里巴巴王堅阿里云

2019-09-17 10:51:12

架構K8節(jié)點

2021-04-28 08:52:22

高并發(fā)架構設高并發(fā)系統(tǒng)

2022-08-31 18:51:00

DevOps軟件開發(fā)

2016-10-24 18:13:48

2013-11-14 09:41:30

2019-11-11 15:55:46

Java技術Redis

2022-03-11 21:35:57

Java程序線程

2023-07-05 08:00:52

MetrAuto系統(tǒng)架構

2014-11-06 13:38:08

阿里云

2020-11-09 09:58:49

架構雙十一開發(fā)

2014-11-10 21:50:54

阿里巴巴雙十一

2013-11-07 17:35:00

阿里COO雙十一阿里巴巴

2018-11-27 16:11:01

阿里云Redis數據庫

2013-01-10 11:32:12

阿里云雙十一云計算

2024-02-20 09:25:28

架構設計系統(tǒng)

2023-04-07 17:44:43

2017-08-14 16:14:57

云原生容器云平臺
點贊
收藏

51CTO技術棧公眾號