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