目的
- 在
50W+
并發量的前提下保證庫存1W
的秒殺
活動正常進行
相關服務
- Nginx:最大請求數量
- 負載均衡:分發攔截
- Redis:主從集群
- Web Service :集群服務
方案
-
前提允許放行的請求數量:設定10W (需提前驗證請求的有效性)
- 因為庫存數量只有1W放行請求多了也沒有意義量
-
通過負載分發到WebService上,一臺1w,共10臺
- 每5臺WebService訪問一個從Redis服務(Redis單機讀寫官方數據:8w-11W)
-
搭建Redis 一主多從服務:倒入1W庫存到ZSet中
- 每處理一個請求消費一個,消費完為止
所有被攔截的40W+都進入CDN緩存的靜態頁面,等待中/排隊人數已超過限制等
在10W處理完成之后還有庫存未被消費的情況下(因為各種邏輯限制,符合條件的用戶請求極少,這里最好在進秒殺頁面時候就把所有的業務邏輯校驗處理完)