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