秒殺問題:
1. 前端:
突然增加網路訪問頻寬
使用者可能存在重複提交
2. 後端:
商品超賣:資料庫樂觀鎖(cas無鎖)、 redis分布式鎖、mq非同步形式修改庫存(使用者需要等待)
單機壓力大:單獨一服務形式部署+docker。可以實現快速擴容
使用者操作頻率塊:閘道器限流
使用者作弊:
資料庫訪問壓力大:分表分庫、使用mq非同步實現修改庫存。類似:搶票等待30s才知道搶票結果。
前端優化方案:
舉個例子:如果1m頻寬等於128kb/s載入乙個網頁640kb。需要 640kb/128kb=5s. 如果秒殺時候網頁載入不出來就完蛋了。
這個就牽涉到乙個頻寬入口問題,伺服器生產環境買的頻寬。
優化方案: 動靜分離
秒殺系統設計
秒殺場景一般會在電商 舉行一些活動或者節假日在12306 上搶票時遇到。對於電商 中一些稀缺或者 商品,電商 一般會在約定時間點對其進行限量銷售,因為這些商品的特殊性,會吸引大量使用者前來搶購,並且會在約定的時間點同時在秒殺頁面進行搶購。限流 鑑於只有少部分使用者能夠秒殺成功,所以要限制大部分流量,...
秒殺系統設計
一 穩 1 前端 1 前端靜態資源快取 cdn 按鈕置灰 ip限流 一段時間內現在使用者ip 2 同一userid限制訪問頻率,超過頻率返回同乙個頁面,進行限流。利用驗證碼防止惡意攻擊。後端 1 請求丟到mq中按照訊息佇列進行處理,進行削峰 2 因為秒殺是讀多寫少,把庫存資料預先載入到redis中,...
秒殺系統設計
1 什麼是秒殺系統 秒殺系統 就是網路商家為 商品,以低 商品賣出做的限時限量搶購活動 2 秒殺系統可以解決什麼問題,用在哪些場景 解決問題 解決網路商家快速 商品,以低 商品賣出做的限時限量搶購活動 應用場景 商品搶購 3 秒殺系統會出現什麼問題,解決方案 出現的問題 1 併發量大 2 防止超賣 ...