核心思想
- 盡可能的在上游將請求攔截把敞,使得只有少量的請求能到數(shù)據(jù)庫。
- 充分利用緩存
詳細過程
- 客戶端攔截:當用戶點擊【秒殺按鈕】后榨惠,將【秒殺按鈕】置灰奋早,避免多次點擊。
- 上游服務(wù)請求過濾:用戶可能使用腳本進行發(fā)起大量請求赠橙,這種情況下就需要做請求攔截耽装,例如10s內(nèi)只允許同一個用戶的一個請求做后續(xù)處理,其他都直接返回“沒有秒殺到”的結(jié)果简烤。
- 入隊操作: 經(jīng)過步驟2后可能依然會存在大量的請求剂邮,這些請求進消息隊列。
- 操作緩存:將刪減庫存在緩存系統(tǒng)(Redis)中進行横侦,后續(xù)同步到數(shù)據(jù)庫挥萌,這樣數(shù)據(jù)庫就沒什么壓力了。