1. 程式人生 > >【轉】1.2 CDN的基本工作過程

【轉】1.2 CDN的基本工作過程

過程 業務 用戶服 fit lan 進行 發的 傳統 告訴

1.2 CDN的基本工作過程

使用CDN會極大地簡化網站的系統維護工作量,網站維護人員只需將網站內容註入CDN的系統,通過CDN部署在各個物理位置的服務器進行全網分發,就可以實現跨運營商、跨地域的用戶覆蓋。由於CDN將內容推送到網絡邊緣,大量的用戶訪問被分散在網絡邊緣,不再構成網站出口、互聯互通點的資源擠占,也不再需要跨越長距離IP路由了。

CDN是如何工作的呢?讓我們先看看沒有CDN服務時,一個網站是如何向用戶提供服務的。

今天我們看到的網站系統基本上都是基於B/S架構的。B/S架構,即Browser-Server(瀏覽器 服務器)架構,是對傳統C/S架構的一種變化或者改進架構。在這種架構下,用戶只需使用通用瀏覽器,主要業務邏輯在服務器端實現。B/S架構,主要是利用了不斷成熟的WWW瀏覽器技術,結合瀏覽器的多種Script語言(VBScript、JavaScript等)和ActiveX等技術,在通用瀏覽器上實現了C/S架構下需要復雜的軟件才能實現的強大功能。

用戶通過瀏覽器等方式訪問網站的過程如圖1-2所示。

技術分享
圖1-2 互聯網用戶服務訪問流程

①用戶在自己的瀏覽器中輸入要訪問的網站域名。

②瀏覽器向本地DNS服務器請求對該域名的解析。

③本地DNS服務器中如果緩存有這個域名的解析結果,則直接響應用戶的解析請求。

④本地DNS服務器中如果沒有關於這個域名的解析結果的緩存,則以遞歸方式向整個DNS系統請求解析,獲得應答後將結果反饋給瀏覽器。

⑤瀏覽器得到域名解析結果,就是該域名相應的服務設備的IP地址。

⑥瀏覽器向服務器請求內容。

⑦服務器將用戶請求內容傳送給瀏覽器。

在網站和用戶之間加入CDN以後,用戶不會有任何與原來不同的感覺。最簡單的CDN網絡有一個DNS服務器和幾臺緩存服務器就可以運行了。一個典型的CDN用戶訪問調度流程如圖1-3所示。

技術分享
圖1-3 引入CDN後的典型用戶訪問流程

①當用戶點擊網站頁面上的內容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,就可以實現內容加速了。

from:http://book.51cto.com/art/201205/338756.htm

【轉】1.2 CDN的基本工作過程