秒殺系統設計

2021-10-05 15:35:51 字數 664 閱讀 2511

1:什麼是秒殺系統

秒殺系統:就是網路商家為**商品,以低**商品賣出做的限時限量搶購活動

2:秒殺系統可以解決什麼問題,用在哪些場景

解決問題:解決網路商家快速**商品,以低**商品賣出做的限時限量搶購活動

應用場景:商品搶購

3:秒殺系統會出現什麼問題,解決方案

出現的問題:1:併發量大   2:防止超賣   3:防止同一使用者重複購買

併發量大解決方案:

前端層:靜態化商品詳情資料,禁止重複提交搶購按鈕,在單位時間段做ip限流

服務層:因為是秒殺,所以是乙個多使用者參加,少量使用者搶購成功的操作,在服務層就是乙個查多寫少業務流程,由於查詢過程較多,頻繁查詢資料庫可以使資料庫宕機

所以我們可以將商品的庫存資料放入快取redis中,使用者搶購商品下單,下單時就扣減快取中的庫存數量,當庫存數量等於0或者活動期結束,則無法秒殺,秒殺下單成功後

直接跳轉到支付頁面,若支付成功就填寫收貨人資訊,更新資料庫商品庫存資料和新增使用者訂單資料

若取消訂單或者超時支付訂單,則關閉呼叫支付介面,恢復快取庫存

防止超賣解決方案

防止同一使用者重複購買解決方案

當使用者進行下單操作時,先判斷redis中是否有預支付訂單資訊,如果有怎提醒先支付已買商品,如果沒有預支付訂單資訊,則使用者下單後向redis存放乙個預支付訂單資訊

秒殺系統設計

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

秒殺系統設計

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

秒殺系統設計

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