秒殺系統設計

2021-09-27 19:17:17 字數 780 閱讀 1942

一、穩

1、前端

1、前端靜態資源快取、cdn、按鈕置灰、ip限流、一段時間內現在使用者ip

2、同一userid限制訪問頻率,超過頻率返回同乙個頁面,進行限流。利用驗證碼防止惡意攻擊。

後端

1、請求丟到mq中按照訊息佇列進行處理,進行削峰

2、因為秒殺是讀多寫少,把庫存資料預先載入到redis中,庫存資料和相關計算在redis中進行。

在redis中查詢:總庫存量,可用庫存量

快取庫存資料具體方案,利用redis 最簡單的key-value資料結構,用乙個原子型別的變數值(atomicinteger)作為key,把使用者id作為value,庫存數量便是原子變數的最大值。對於每個使用者的秒殺,我們使用 rpush key value插入秒殺請求, 當插入的秒殺請求數達到上限時,停止所有後續插入。然後成功的使用者利用多執行緒或mq將成功的快取資料同步到mysql中。

2、利用分配秒殺使用者的成功和失敗,失敗則進入失敗頁面,成功則進行處理(1、做好補救措施,可手動進行執行  2、可利用陣列靠前的成功概率高)

一、快1、秒殺服務建立單獨的服務進行業務分離

2、redis 預先載入資料到快取中,扣減庫存的操作在快取中進行

3、mq進行削峰,非同步處理

4、mysql分庫分表、主從分離

5、mysql事務和分布式行鎖

秒殺系統設計

秒殺場景一般會在電商 舉行一些活動或者節假日在12306 上搶票時遇到。對於電商 中一些稀缺或者 商品,電商 一般會在約定時間點對其進行限量銷售,因為這些商品的特殊性,會吸引大量使用者前來搶購,並且會在約定的時間點同時在秒殺頁面進行搶購。限流 鑑於只有少部分使用者能夠秒殺成功,所以要限制大部分流量,...

秒殺系統設計

1 什麼是秒殺系統 秒殺系統 就是網路商家為 商品,以低 商品賣出做的限時限量搶購活動 2 秒殺系統可以解決什麼問題,用在哪些場景 解決問題 解決網路商家快速 商品,以低 商品賣出做的限時限量搶購活動 應用場景 商品搶購 3 秒殺系統會出現什麼問題,解決方案 出現的問題 1 併發量大 2 防止超賣 ...

秒殺系統設計

秒殺系統設計 一 容量規劃 每個秒殺請求平均100ms完成,20個tomcat伺服器,每個伺服器處理500個請求。極限能夠撐住 qps 20 500 0.1 100000 tps。隨著系統壓力越來越大理想情況做不到100ms完成乙個請求,按照平均每個請求200ms完成去計算,系統設計目標能夠撐住5w...