秒殺系統如何設計

2022-03-23 00:08:21 字數 488 閱讀 2329

近來聽到關於秒殺的話題,想起n年前去某當面試,好像有類似設計題,

秒殺場景:

10w真實使用者參與秒殺,僅有100人可以成功購買商品。

考慮到碼農的特殊手段,介面流量咱們按20w去算.

思路如下:

1、前端控制   

技術控制,置灰按鈕、防止重複提交   

2、後端負載均衡、分散流量

單機理論極限併發約6w,20w流量需要4臺服務,去分散流量

3、使用者頻率限制

使用者手腳不停的刷商品,在一段時間內,同一使用者會有多次請求,可以用通過redis來過濾

4、令牌策略

可以令牌桶或mq來過濾資料,拿到令牌的可以去購買,減輕db壓力

5、資料庫樂觀鎖

滿足條件的才可以成功購買商品

秒殺系統設計

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

秒殺系統設計

一 穩 1 前端 1 前端靜態資源快取 cdn 按鈕置灰 ip限流 一段時間內現在使用者ip 2 同一userid限制訪問頻率,超過頻率返回同乙個頁面,進行限流。利用驗證碼防止惡意攻擊。後端 1 請求丟到mq中按照訊息佇列進行處理,進行削峰 2 因為秒殺是讀多寫少,把庫存資料預先載入到redis中,...

秒殺系統設計

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