超詳細(xì)的秒殺架構(gòu)設(shè)計(jì),運(yùn)維,了解一下
秒殺應(yīng)該考慮哪些問題
超賣問題
高并發(fā)
接口防刷
秒殺 URL
數(shù)據(jù)庫設(shè)計(jì)
大量請(qǐng)求問題
秒殺系統(tǒng)的設(shè)計(jì)和技術(shù)方案
秒殺系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
秒殺 URL 的設(shè)計(jì)
為了避免有程序訪問經(jīng)驗(yàn)的人通過下單頁面url直接訪問后臺(tái)接口來秒殺貨品,我們需要將秒殺的 URL 實(shí)現(xiàn)動(dòng)態(tài)化,即使是開發(fā)整個(gè)系統(tǒng)的人都無法在秒殺開始前知道秒殺的URL 。具體的做法就是通過 md5 加密一串隨機(jī)字符作為秒殺的 URL,然后前端訪問后臺(tái)獲取具體的 URL,后臺(tái)校驗(yàn)通過之后才可以繼續(xù)秒殺。
秒殺頁面靜態(tài)化
單體 Redis 升級(jí)為集群 Redis
使用 Nginx
精簡(jiǎn) SQL
Redis 預(yù)減庫存
接口限流
秒殺最終的本質(zhì)是數(shù)據(jù)庫的更新,但是有很多大量無效的請(qǐng)求,我們最終要做的就是如何把這些無效的請(qǐng)求過濾掉,防止?jié)B透到數(shù)據(jù)庫。限流的話,需要入手的方面很多:
同一個(gè)用戶xx秒內(nèi)重復(fù)請(qǐng)求直接拒絕
令牌桶算法限流
異步下單
服務(wù)降級(jí)
總結(jié)
來源:https://www.cnblogs.com/wyq178/p/11261711.html 文章轉(zhuǎn)載:高效運(yùn)維
(版權(quán)歸原作者所有,侵刪)