今天是這個系列的最后一點(diǎn)東西伍茄,也是最重要的一點(diǎn)東西间唉,可以說是整個系列最終要的,在這篇文章中利术,你會初步了解一些優(yōu)化高并發(fā)的知識呈野。如果你沒有閱讀前幾篇,希望您先瀏覽一下印叁,地址如下
實(shí)戰(zhàn)篇:基于SSM的秒殺系統(tǒng)之項(xiàng)目介紹
實(shí)戰(zhàn)篇:基于SSM的秒殺系統(tǒng)之項(xiàng)目搭建和數(shù)據(jù)庫設(shè)計(jì)
實(shí)戰(zhàn)篇:基于SSM的秒殺系統(tǒng)之DAO層搭建
實(shí)戰(zhàn)篇:基于SSM的秒殺系統(tǒng)之Service層搭建
實(shí)戰(zhàn)篇:基于SSM的秒殺系統(tǒng)之WEB層搭建
優(yōu)化點(diǎn)
我們先來看一下整個系統(tǒng)的可以進(jìn)行高并發(fā)的優(yōu)化點(diǎn)有哪些
如圖所示被冒,圖中紅色的部分都是高并發(fā)的點(diǎn),而綠色的則不需要轮蜕,下面呢將一部分一部分的進(jìn)行講解
詳情頁優(yōu)化
我們都知道在秒殺商品的時候我們都會刷新頁面昨悼,所以詳情頁的訪問量很高,但是詳情頁基本上是不變的跃洛,所以我們想到用CDN進(jìn)行優(yōu)化率触,先來介紹一下CDN:
CDN的理解
CDN主要用來對靜態(tài)資源進(jìn)行優(yōu)化,很多大的公司都有自己的CDN汇竭,也有很多公司提供CDN加速服務(wù)葱蝗。
獲取系統(tǒng)時間的優(yōu)化
實(shí)際上獲取系統(tǒng)時間不需要進(jìn)行優(yōu)化,因?yàn)镴ava獲取系統(tǒng)的時間很快细燎,Java訪問一次內(nèi)存的時間大約為10ns两曼,所以這一塊可以不用進(jìn)行過多的優(yōu)化。
秒殺地址接口的優(yōu)化
這一部分是高并發(fā)的重災(zāi)區(qū)玻驻,所以重點(diǎn)講一下
秒殺地址接口屬于動態(tài)資源悼凑,只能從服務(wù)器端進(jìn)行優(yōu)化,分析之后就要進(jìn)行優(yōu)化了
解釋一下超時穿透,就是說户辫,高并發(fā)的東西先緩存在redis中渐夸,如果要訪問的時候redis中沒有則去數(shù)據(jù)庫訪問或者超時的時候主動去數(shù)據(jù)庫拉去新的數(shù)據(jù)
秒殺操作的優(yōu)化
介紹幾種操作的方案
針對這幾種方案,在成本上進(jìn)行分析一下
Java事務(wù)控制分析
從圖中可以看出寸莫,在整個事務(wù)中捺萌,行級鎖是造成時間延遲的根本原因,那么怎么來解決這個問題呢膘茎?
根據(jù)分析我們可以發(fā)現(xiàn)桃纯,我們優(yōu)化的方向是減少行級鎖的持有時間,換句話說就是在數(shù)據(jù)庫執(zhí)行成功之后披坏,我們要在數(shù)據(jù)庫里判斷而不是在程序中判斷态坦,所以我們的方向是
上邊基本上寥寥草草的講述了優(yōu)化,最后來總結(jié)一下
![優(yōu)化總結(jié)](http://upload-images.jianshu.io/upload_images/1007420-b3c567179d2faaf5.png?
imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)