拜讀大作后有感,鏈接貼文末
場(chǎng)景考慮:
10萬秒100
問題:
高并發(fā)可能導(dǎo)致緩存雪崩、擊穿、穿透
超賣:對(duì)于最后1件,多redis 同時(shí)訪問,可能扣減為負(fù)
惡意請(qǐng)求
鏈接暴露
數(shù)據(jù)庫扛不住
全鏈路的考慮:
前端:
- 頁面資源靜態(tài)化,減輕服務(wù)器壓力
- url動(dòng)態(tài)化,秒殺鏈接加鹽 ,如md5
- 按鈕置灰,防止秒殺還沒開始服務(wù)壓力就上來
- 前端限流:每觸發(fā)按鈕一次,隔段時(shí)間允許再次觸發(fā)
網(wǎng)關(guān):
- 高并發(fā)支持:nginx 幾萬并發(fā)支持/tomcat 幾百并發(fā)支持
風(fēng)控:對(duì)機(jī)器賬號(hào)的過濾
后端:服務(wù)之間降低影響
- 單一職責(zé)微服務(wù)+分布式部署
- Redis集群:主從同步,讀寫分離,哨兵持久化,開啟事務(wù)防止并發(fā)競(jìng)爭(zhēng)超賣
- 庫存預(yù)熱: 商品庫存先加載到Redis,秒殺后異步改庫存
- 限流,服務(wù)降級(jí),熔斷,隔離
- 消息隊(duì)列
- 單獨(dú)秒殺數(shù)據(jù)庫,簡(jiǎn)單的表設(shè)計(jì),合適索引
- 分布式事務(wù):數(shù)據(jù)同步方式 2pc或3pc,效率高
浙公網(wǎng)安備 33010602011771號(hào)