CDN學習小結

一.CDN簡介

首先,什麼是CDN,Content Delivery Network,基於內容的分佈式分發網絡,當下的互聯網應用都包含大量的靜態內容,但靜態內容以及一些準動態內容又是最耗費帶寬的,特別是針對全國甚至全世界的大型網站,如果這些請求都指向主站的服務器的話,不僅是主站服務器受不了,單端口500M左右的帶寬也扛不住,所以大多數網站都需要CDN服務。那麼什麼是CDN服務?簡單的說CDN就是讓原本上海的瀏覽器要訪問北京主站內容的請求轉而由部署在上海或南京的緩存來受理,這樣請求的數據只需經過一跳或有限的幾跳就能到達請求端,有效利用帶寬並且降低主站壓力,對於電子商務網站和搜索引擎網站以及門戶網站,CDN的合理應用顯得尤爲重要。一般需要CDN服務的網站會選擇以下的組織方案:1.通過租用的IDC提供額外的CDN服務;2..購買專業的CDN服務商的服務;3.自己組建CDN網絡;成本依次增高。CDN設計目的是實現WEB內容的負載均衡,防止出現訪問請求熱點,延時響應等WEB請求通病。基於此,CDN的特點可以說有:
1)分佈式存儲
2)通過智能DNS解析或http重定向實現內容分發的負載均衡
3)全局負載均衡管理與內容管理

二.CDN網絡結構

CDN網絡一般分爲中心與邊緣節點兩部分,中心負責全局負載均衡管理與內容管理;

中心節點的功能如下:

  1. 隨時監控邊緣節點的健康狀況(可用性,擁塞程度);

  2. 根據邊緣節點到請求端的距離,以及邊緣節點的健康狀況,按一定的策略重定向請求;

  3. 與客戶主站進行數據同步。

三.CDN工作原理

在描述CDN的實現原理,讓我們先看傳統的未加緩存服務的訪問過程,以便了解CDN緩存訪問方式與未加緩存訪問方式的差別:
這裏寫圖片描述

由上圖可見,用戶訪問未使用CDN緩存網站的過程爲:

  1. 用戶向瀏覽器提供要訪問的域名;

  2. 瀏覽器調用域名解析函數庫對域名進行解析,以得到此域名對應的IP地址;

  3. 瀏覽器使用所得到的IP地址,域名的服務主機發出數據訪問請求;

  4. 瀏覽器根據域名主機返回的數據顯示網頁的內容。

通過以上四個步驟,瀏覽器完成從用戶處接收用戶要訪問的域名到從域名服務主機處獲取數據的整個過程。CDN網絡是在用戶和服務器之間增加Cache層, 如何將用戶的請求引導到Cache上獲得源服務器的數據,主要是通過接管DNS實現,下面讓我們看看訪問使用CDN緩存後的網站的過程:
通過上圖,我們可以瞭解到,使用了CDN緩存後的網站的訪問過程變爲:
這裏寫圖片描述
1. 用戶向瀏覽器提供要訪問的域名;

  1. 瀏覽器調用域名解析庫對域名進行解析,由於CDN對域名解析過程進行了調整,所以解析函數庫一般得到的是該域名對應的CNAME記錄,爲了得到實 際IP地址,瀏覽器需要再次對獲得的CNAME域名進行解析以得到實際的IP地址;在此過程中,使用的全局負載均衡DNS解析,如根據地理位置信息解析對 應的IP地址,使得用戶能就近訪問。

  2. 此次解析得到CDN緩存服務器的IP地址,瀏覽器在得到實際的IP地址以後,向緩存服務器發出訪問請求;

  3. 緩存服務器根據瀏覽器提供的要訪問的域名,通過Cache內部專用DNS解析得到此域名的實際IP地址,再由緩存服務器向此實際IP地址提交訪問請求;

  4. 緩存服務器從實際IP地址得得到內容以後,一方面在本地進行保存,以備以後使用,二方面把獲取的數據返回給客戶端,完成數據服務過程;

客戶端得到由緩存服務器返回的數據以後顯示出來並完成整個瀏覽的數據請求過程。

四.CDN流程結構
這裏寫圖片描述

發佈了68 篇原創文章 · 獲贊 32 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章