使用cdn會極大地簡化網站的系統維護工作量,網站維護人員隻需将網站内容注入cdn的系統,通過cdn部署在各個實體位置的伺服器進行全網分發,就可以實作跨營運商、跨地域的使用者覆寫。由于cdn将内容推送到網絡邊緣,大量的使用者通路被分散在網絡邊緣,不再構成網站出口、互聯互通點的資源擠占,也不再需要跨越長距離ip路由了。
cdn是如何工作的呢?先看看沒有cdn服務時,一個網站是如何向使用者提供服務的。
今天我們看到的網站系統基本上都是基于b/s架構的。b/s架構,即browser-server(浏覽器 伺服器)架構,是對傳統c/s架構的一種變化或者改進架構。在這種架構下,使用者隻需使用通用浏覽器,主要業務邏輯在伺服器端實作。b/s架構,主要是利用了不斷成熟的www浏覽器技術,結合浏覽器的多種script語言(vbscript、javascript等)和activex等技術,在通用浏覽器上實作了c/s架構下需要複雜的軟體才能實作的強大功能。
①使用者在自己的浏覽器中輸入要通路的網站域名。
②浏覽器向本地dns伺服器請求對該域名的解析。
③本地dns伺服器中如果緩存有這個域名的解析結果,則直接響應使用者的解析請求。
④本地dns伺服器中如果沒有關于這個域名的解析結果的緩存,則以遞歸或疊代方式向整個dns系統請求解析,獲得應答後将結果回報給浏覽器。
⑤浏覽器得到域名解析結果,就是該域名相應的服務裝置的ip位址。
⑥浏覽器向伺服器請求内容。
⑦伺服器将使用者請求内容傳送給浏覽器。
在網站和使用者之間加入cdn以後,使用者不會有任何與原來不同的感覺。最簡單的cdn網絡有一個dns伺服器和幾台緩存伺服器就可以運作了。一個典型的cdn使用者通路排程流程如圖1-3所示。

①當使用者點選網站頁面上的内容url,經過本地dns系統解析,dns系統會最終将域名的解析權交給cname指向的cdn專用dns伺服器。
②cdn的dns伺服器将cdn的全局負載均衡裝置ip位址傳回使用者。
③使用者向cdn的全局負載均衡裝置發起内容url通路請求。
④cdn全局負載均衡裝置根據使用者ip位址,以及使用者請求的内容url,選擇一台使用者所屬區域的區域負載均衡裝置,告訴使用者向這台裝置發起請求。
⑤區域負載均衡裝置會為使用者選擇一台合适的緩存伺服器提供服務,選擇的依據包括:根據使用者ip位址,判斷哪一台伺服器距使用者最近;根據使用者所請求的url中攜帶的内容名稱,判斷哪一台伺服器上有使用者所需内容;查詢各個伺服器目前的負載情況,判斷哪一台伺服器尚有服務能力。基于以上這些條件的綜合分析之後,區域負載均衡裝置會向全局負載均衡裝置傳回一台緩存伺服器的ip位址。
⑥全局負載均衡裝置把伺服器的ip位址傳回給使用者。
⑦使用者向緩存伺服器發起請求,緩存伺服器響應使用者請求,将使用者所需内容傳送到使用者終端。如果這台緩存伺服器上并沒有使用者想要的内容,而區域均衡裝置依然将它配置設定給了使用者,那麼這台伺服器就要向它的上一級緩存伺服器請求内容,直至追溯到網站的源伺服器将内容拉到本地。
dns伺服器根據使用者ip位址,将域名解析成相應節點的緩存伺服器ip位址,實作使用者就近通路。使用cdn服務的網站,隻需将其域名解析權交給cdn的gslb裝置,将需要分發的内容注入cdn,就可以實作内容加速了。
原貼位址:http://book.51cto.com/art/201205/338756.htm