近來聽到關於秒殺的話題,想起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 防止超賣 ...