思路:對于秒殺系統(tǒng),兩個架構(gòu)優(yōu)化思路:
1)盡量將請求攔截在系統(tǒng)上游
2)讀多寫少的常用多使用緩存
方法:
1、限制用戶在x秒之內(nèi)只能提交一次請求(前端按鈕置灰)
2、同一個uid,或同一類查詢(例如車次)。限制訪問頻度,做頁面緩存,x秒內(nèi)到達站點層的請求,均返回同一頁面
3、對于寫請求,做請求隊列,每次只透有限的寫請求去數(shù)據(jù)層,如果均成功再放下一批,如果庫存不夠則隊列里的寫請求全部返回“已售完”。用redis,lua腳本扣庫存,負數(shù)返回失敗。
4、對于讀請求,用緩存。
5、保證活動數(shù)據(jù)庫和庫存數(shù)據(jù)一致:分布式事務(wù)或消息隊列。下單減庫存/支付減庫存。
6、消息隊列削峰填谷。
7、資源靜態(tài)化、用CDN動靜分離。
8、應(yīng)對惡意請求和爬蟲:驗證碼、動態(tài)url。
9、動態(tài)擴容。
10、熔斷限流降級機制文章來源:http://www.zghlxwxcb.cn/news/detail-420114.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-420114.html
到了這里,關(guān)于秒殺系統(tǒng)如何設(shè)計的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!