爲什麼需要使用及如何使用CDN(更新)

當今世界,對所有人而言,網站必須具有一切功能:網站必須有吸引力、速度快、有靈活性及可移動性,甚至必須要能夠不斷變化。此外,還必須支持頻繁的會話、支持各種瀏覽器、智能手機、平板電腦以及其它用戶可能會用到的設備。

網站必須能夠在複雜的網絡環境下運行,比如中國、亞洲、中東等網絡連接很差的區域或國家,這些地方不僅地理位置分散,距離遙遠而且網絡多樣化。更不必說,對於移動站點或應用程序而言,不僅有線連接如DSL或電纜線甚至無線連接如GPRS、EDGE、3G 及現在的LTE等,都必須有很高的連接性能,然而即使是這些提供連接服務的供應商都可能不會有很好的網絡連接。

此外,站點使用越來越多的對象,如圖片、幀、CSS及APIs,比如AJAX,以及遠程調用,比如從Facebook調用到Google,甚至使用各種各樣的共享、跟蹤及附加值系統等。
難怪,系統變得越來越慢,用戶只訪問能夠最快打開、性能最好的網站。Google及其它網站的研究表明,一個網站每慢一秒鐘,就會丟失許多訪客,甚至這些訪客永遠不會再次光顧這些網站。

輸入CDN或是內容分發網絡,你就會搜索到國際公司如Akamai及Limelight,及中國公司如ChinaCache及ChinaNetCenter,他們可以幫助用戶提高網站瀏覽性能,如瀏覽互聯網站、網絡遊戲網站及應用程序。

CDN支持許多種服務,最常用的服務有:

下載 – 下載服務是CDN提供的最簡單的服務,通常是一些終端用戶,如網遊用戶、軟件用戶、程序開發員及要下載大量文件的用戶會使用到。通過使用CDN,人們便無需使用高帶寬連接到昂貴的數據中心,並且通過CDN節點,這些文件會放到離終端用戶更近的地方。
靜態文件/圖片 – CDN最常用的用途是用來給終端用戶發佈靜態文件,如圖片、java腳本、css文件等。通常這些類型的文件很少變更,即便有變更,也是少量的,所以,把文件發佈並存放到離終端用戶比較近的地方會極大地提高網站速度,在地理位置分散或連接性能很差的地方,網站速度提高會顯得更加明顯。請注意,該服務僅僅用於處理靜態文件,如主要的網站頁面,所有動態內容,都是由主網站服務器提供。這通常是分開處理的,通過不同的子域名進行處理,如images.mydomain.com,與www.是分開的。

WSA – 即整體網站加速,正變得越來越流行。從名稱便可知道,它是用來加速整個網站的,包括所有的靜態的東西及動態的東西,如網頁、購物車及推薦信息等。基本情況是,終端用戶只連接到CDN,CDN連接到網站,然後緩存所有的東西,CDN代表用戶向實體的網站後臺發送請求,獲取動態數據。
當然,CDN只能改善一部分內容的訪問速度,因爲其它的內容,如採購歷史、產品庫存等必須直接從後臺網站獲得。對於連接性很差的網絡,如移動網絡以及複雜的難以將靜態內容從靜態CDN分離出來的網站來說,WSA尤爲好用。注意,爲確保WSA成功,謹慎的配置及緩存控制頭信息是非常重要的,因爲CDN需要知道要緩存哪些東西,以及哪些東西是要傳遞到後臺的。

流媒體內容- 媒體類網站使用越來越多的流媒體內容,如視頻,包括來自於其它網站(如Netflix、Hulu、或Youtube及中國的Tudou/Youku)的實際的電視節目、影片等。對於這些內容而言,CDN提供特別的下載服務,通常稱之爲點播或Vod,可以處理並控制所有視頻,包括快進/後退視頻,可以訪問經過授權的內容,提供各種跟蹤服務等。對於這些服務而言,視頻通常是加載到CDN,並且通過特定的URL直接提供視頻。此外,一些CDN還提供現場流體內容,如,體育或其它事件等實時播放,進行現場內容直播。
其它- CDN有許多其它功能及服務,以滿足特殊需求,如電商、預加載、網遊、動態加速、安全及DRM控制等。此外,還提供特殊的滿足地理要求或網絡要求(如中國移動或CERNET)的特別服務。

CDN還有一個服務容易被人忽略,就是安全服務。例如,許多CDN可提供防DDoS***服務,由於它們比任何一個網站的帶寬都大,而且分散,所以能夠經受住此類***。此外,一些專門的CDN如,CloudFlare 及 AnQuanBao 也提供像防火牆一樣的應用程序,如防止SQL注入***、XSS***及其它防***手段以保護後臺站點。
另一個特別的主要服務就是“內容感知”網絡服務。這是一種新新服務,是通過CDN系統的更智能化管理的內容,可以給不同用戶,如移動或DSL或辦公室用戶等提供不同的優化過的內容。它可以對內容進行處理,以便提供給不同設備,也可以對內容進行優化,以便將最重要的內容優先下載下來,使用戶獲得最佳體驗。它們還會判斷在哪個地方存放哪些內容,總之,該系統能夠使網站在複雜的互聯網環境下有良好的性能表現。

最後,有些CDN還提供全球服務,幫助客戶開拓新區域或國際區域,如中國、拉美或國外其它地區。對於全球品牌而言,這種服務非常重要,對於想要獲得國際客戶的中國公司而言,這種服務也非常重要。這種全球或局部CDN幫助人們在無需數據中心及特別帶寬等情形下,便可獲得龐大的用戶羣。
根據您的需求及站點架構,使用CDN是非常容易的。對於靜態/圖片CDN而言,關鍵的一點在於能夠將靜態內容或圖片分離到特定的域名,然後存放到同一服務器上不同的虛擬機上。
要想使用好CDN,最關鍵的一點還在於能夠有良好的緩存控制。這樣,CDN能夠知道緩存哪些對象以及要緩存多長時間。理想的情況是,像圖片這些東西基本很少發生變化,若有更新的話,應該將文件名/URL更改掉並且HTML變更到指向新的對象。有時候,要進行這些更改並不容易,因爲必須在源主機進行更新,這就要求短時間的(1個小時或1天)緩存這些東西,或者使這些在CDN緩存中失效。

對於任何網站而言,最好的做法也許是將兩種方法結合使用,也就是使用CDN來處理靜態HTML頁面,使用AJAX處理動態數據。這樣便可以從後臺系統提供服務數據,給用戶快速提供動態數據,使用戶有良好的體驗。

監控 – 要想很好地跟蹤CDN的運行情況,就必須使用監控工具,如Gomez、ip-label或Network Bench。它們可以幫助您監控CDN的實際性能,這一點可以從不同的網絡及終端用戶的使用情況中得到證實。並且,這樣做有助於識別並發現問題,確保CDN服務能按照所期望的運作。

總之,幾乎每個人都應該使用CDN,尤其是現在的世界生活節奏快、充滿活力、要求又很苛刻,所以人們更應當使用CDN。


(Authored by Steve Mushero | ChinaNetCloud CEO & CTO 本博客英文原文請點擊查看

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章