CDN

作者:大勇
鏈接:https://www.zhihu.com/question/37353035/answer/132978669
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

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用戶訪問調度流程如下
   ①當用戶點擊網站頁面上的內容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

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