秒殺方案:前端
原子計數器 redis/mysql redis 集羣mysql
記錄行爲 分佈式MQ-rabbitMQredis
消費消息並落地 mysqlsql
運維成本和穩定性:NoSQL MQ 後端
開發成本:數據一致性,回滾方案等。api
冪等性難保證:重複秒殺問題。緩存
不適合新手的框架。網絡
=======框架
爲何不用mysql mysql低效運維
測試-
同一條mysql update 壓力測試 4w qps 每秒4萬次。
優化方向 減小行級鎖的持有時間。
update確認影響記錄數
優化思路:
把客戶端邏輯放到mysql服務端,避免網絡延遲和GC影響。
定製sql方案:
優化總結:
前端控制:暴露接口,按鈕防重複。
動靜態數據分離:cdn緩存,後端緩存。
cdn--api像cdn推送數據和頁面等。
事務競爭優化-減小事務鎖持有時間。有網絡延遲和GC,改爲MYSQL處理。