-
【為什么要單獨獲取系統(tǒng)時間?】
靜態(tài)資源會部署到CDN上,訪問detail頁,靜態(tài)資源等不需要訪問秒殺系統(tǒng),因此要單獨做一個請求獲取系統(tǒng)時間。
【CDN的理解】
大部分的視頻加速完全依賴于CDN
查看全部 -
【流程圖】
紅色表示可能會出現(xiàn)高并發(fā)的點,綠色表示無影響。
【詳情頁】可通過CDN優(yōu)化。
大部分的視頻加速完全依賴于CDN
?為什么要單獨獲取系統(tǒng)時間?靜態(tài)資源會部署到CDN上,訪問detail頁,靜態(tài)資源等不需要訪問秒殺系統(tǒng),因此要單獨做一個請求獲取系統(tǒng)時間。
【獲取系統(tǒng)時間不用優(yōu)化,因為很快】
【秒殺地址暴露接口分析】
無法使用CDN緩存,(因為秒殺地址是會變化的)
適合服務(wù)器端緩存:redis等
一致性維護成本低:超時穿透/主動更新
【秒殺操作接口優(yōu)化分析】優(yōu)化方式,減少事務(wù)鎖時間。
無法使用CDN緩存,
后端緩存困難:庫存更新一致性問題
一行數(shù)據(jù)競爭:熱點商品
查看全部 -
這一章講的不錯
查看全部 -
大型系統(tǒng)架構(gòu)
查看全部 -
CDN:Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)
WebServer一般不直接對外訪問,之前都會放置Nginx,Nginx是一個集群化的,部署在多個服務(wù)器上,用來做我們的Http服務(wù)器。同時他還會把后端的Tomcat,Jetty來做反向代理。
Redis:做服務(wù)器端的緩存,利用Redis提供的API來達(dá)到熱點數(shù)據(jù)的快速存取的過程。
MySql:借助MySQL事務(wù)來達(dá)到秒殺事務(wù)的一致性和完整性
查看全部 -
秒殺操作的簡單優(yōu)化:更新庫存的是熱點操作,會出現(xiàn)行級鎖,而插入購買記錄的行為沒有行級鎖??梢韵炔迦胭徺I明細(xì),可以避免因重復(fù)秒殺帶來的不必要的更新庫存操作,減少不必要的行級鎖的占用。然后再去更新庫存。這樣,行級鎖的占用時間可以節(jié)省一半(反正是節(jié)省了)
查看全部 -
rowLock:? 行級鎖,鎖的粒度最小,并發(fā)度最高,加鎖慢
查看全部 -
秒殺優(yōu)化總結(jié)
查看全部 -
如何放到MySQL服務(wù)端
查看全部 -
如何判斷Update更新庫存成功?
查看全部 -
異地機房網(wǎng)絡(luò)延遲計算
查看全部 -
mysql 單條update qps 每秒40000+
Java 控制事務(wù)行為分析
數(shù)據(jù)庫鎖/網(wǎng)絡(luò)延時/GC
行級鎖在Commit之后釋放 --如何減少行級鎖的持有時間
優(yōu)化思路:
把客戶端邏輯放到Mysql服務(wù)端 避免網(wǎng)絡(luò)延遲和GC影響
----使用存儲過程
******** 優(yōu)化總結(jié) ********
前端控制:暴露接口 按鈕防重復(fù)
動靜態(tài)分離:CDN緩存,后端緩存
事務(wù)競爭優(yōu)化:減少事務(wù)鎖時間
查看全部 -
java控制事務(wù)行為分析——串行操作
查看全部 -
架構(gòu)成本分析
查看全部 -
其他秒殺方案分析
查看全部
舉報