CDN的全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)。其目的是通過(guò)在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)"邊緣",使用戶可以就近取得所需的內(nèi)容,解決Internet網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問(wèn)網(wǎng)站的響應(yīng)速度。從技術(shù)上全面解決由于網(wǎng)絡(luò)帶寬小、用戶訪問(wèn)量大、網(wǎng)點(diǎn)分布不均等原因所造成的用戶訪問(wèn)網(wǎng)站響應(yīng)速度慢的問(wèn)題。
CDN技術(shù)采取了分布式網(wǎng)絡(luò)緩存結(jié)構(gòu)(即國(guó)際上流行的web cache技術(shù)),通過(guò)在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的cache服務(wù)器內(nèi),通過(guò)DNS負(fù)載均衡的技術(shù),判斷用戶來(lái)源就近訪問(wèn)cache服務(wù)器取得所需的內(nèi)容,解決Internet網(wǎng)絡(luò)擁塞狀況,提高用戶訪問(wèn)網(wǎng)站的響應(yīng)速度,如同提供了多個(gè)分布在各地的加速器,以達(dá)到快速、可冗余的為多個(gè)網(wǎng)站加速的目的。
由于CDN基本的加速手段是“DNS智能選擇最近的鏡像”+“鏡像緩存靜態(tài)內(nèi)容”,所以在傳統(tǒng)的觀點(diǎn)中,CDN只是對(duì)靜態(tài)頁(yè)面加速,對(duì)動(dòng)態(tài)頁(yè)面沒(méi)有效果。
對(duì)于動(dòng)態(tài)網(wǎng)站的加速,網(wǎng)上大部分人都認(rèn)為“不可能做到”,“加速效果不明顯”,“它怎么能把數(shù)據(jù)庫(kù)進(jìn)行加速”,F(xiàn)在就我個(gè)人對(duì)CDN動(dòng)態(tài)加速的了解,進(jìn)行一一的說(shuō)明。
(1)首先對(duì)于,大家所致疑的“能不能實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)的加速”這個(gè)問(wèn)題,我的理解如下:首先明確的是,對(duì)于大家針對(duì)動(dòng)態(tài)代碼和數(shù)據(jù)庫(kù)的安全性考慮,大多數(shù)據(jù)客戶不會(huì)把動(dòng)態(tài)代碼和數(shù)據(jù)庫(kù)的數(shù)據(jù)讓CDN服務(wù)商發(fā)布到每個(gè)Cache結(jié)點(diǎn)上。這一點(diǎn)大家都是這么做。畢竟是一個(gè)不能公開的部分。
如我們?cè)谀戏诫娦臕點(diǎn)訪問(wèn)沒(méi)有加速前的動(dòng)態(tài)網(wǎng)站B(放置在北方網(wǎng)通機(jī)房),慢,打開一個(gè)網(wǎng)站需要盡1分鐘以上,ping A,得到的平均時(shí)間為:600MS以上ms。而使用CDN動(dòng)態(tài)加速后,我們?cè)贏到B之間,插入了一個(gè)CDN的cache(C點(diǎn))。這樣得到的結(jié)果是從A到C點(diǎn)的時(shí)間很快,大約10ms以內(nèi),F(xiàn)在我們看的就是從C點(diǎn)到B的時(shí)間。就CDN服務(wù)商的說(shuō)法,一定是小于直接從A到B的時(shí)間減少A到C的時(shí)間,倒底是不是呢?現(xiàn)在我們分析CDN服務(wù)商的布置Cache節(jié)點(diǎn)的作用。它們?cè)谌珖?guó)如果布有節(jié)點(diǎn)的話。并具有智能DNS系統(tǒng)的話。它們就會(huì)在CDN服務(wù)提供的cahce結(jié)點(diǎn)內(nèi)部去尋找一條最短的路徑,使從C到B的時(shí)間縮短。這就是大家常說(shuō)的最佳路由。有以上的兩個(gè)假設(shè),一般對(duì)于動(dòng)態(tài)網(wǎng)站的加速就能夠達(dá)到且速度比原來(lái)的時(shí)間到縮短50%以上。一般的像帝聯(lián),chinacahe都具有智能DNS系統(tǒng)與在全國(guó)的布了多的節(jié)點(diǎn)。
(2)對(duì)于像一些圖片等靜態(tài)數(shù)據(jù),仍采用靜態(tài)加速的辦法。綜合起來(lái)的,可以達(dá)到對(duì)動(dòng)態(tài)網(wǎng)站的加速效果,這里有一點(diǎn)注意的是,動(dòng)態(tài)網(wǎng)站一般不會(huì)對(duì)數(shù)據(jù)庫(kù)本身進(jìn)行加速。這一點(diǎn)大家需要明白。
因此,動(dòng)態(tài)CDN加速并不是一種虛妄的說(shuō)法,其效果還是值得肯定,目前市場(chǎng)上也確實(shí)有服務(wù)商提出這樣的口號(hào),但是我們也要意識(shí)到,如果某個(gè)動(dòng)態(tài)頁(yè)面的大部分內(nèi)容都是由腳本代碼產(chǎn)生,那么這個(gè)頁(yè)面使用CDN加速是沒(méi)有多大效果的,畢竟這個(gè)頁(yè)面的主要內(nèi)容沒(méi)辦法被存入鏡像;但是對(duì)于圖片較多的動(dòng)態(tài)頁(yè)面,例如圖片論壇,我想這種加速還是有意義的。
|