CDN的前世今生

CDN Content Delivery Network 內容分發網絡

  • 使用戶能夠就近獲取所需內容,解決Internet網絡擁擠的狀況,提高用戶訪問網站的響應速度

一、CDN特點

  1. 提高了用戶的訪問速度(大量圖片和靜態頁面站點),提高了站點的穩定性

  2. 鏡像服務消除了不同運營商之間互聯的影響,實現了跨運營商網絡加速,保證了不同網絡中用戶訪問網絡的質量

  3. 鏡像服務器讀取數據,減少了遠程訪問的帶寬、分擔網絡流量、減輕原站點的壓力

  4. 集羣式抗攻擊廣泛分佈的CDN節點加上節點之間的智能冗餘機制,可以有效的預防黑客入侵以及降低各種DDOS攻擊對網站的影響,同時保證較好的服務質量

二、CDN的工作原理

	加速前:
img.liupengju.org     IN A    124.10.0.21(企業的服務器地址)

	加速後:
img.liupengju.org     IN CNAME    img.liupengju.org.cachecn.com
  • 解析後發現還是域名,會找cachecn.com的授權DNS服務器

  • 通過CNAME記錄解析img.liupengju.org.cachecn.com找到對應的IP地址(CDN公司的IP)從而找到CDN公司的智能DNS調度系統。

  • 調度系統中會有各個地區的IP地址的列表。查找後發現用戶所屬的地區,會將靠近用戶的地區的IP發送給用戶

  • 用戶會根據發送的IP地址請求對應的CDN鏡像服務器(緩存服務器),最終將數據返回給用戶

三、技術關鍵元素與DNS原理

  • 關鍵元素
    1、DNS和智能DNS集羣
    2、Cache集羣
    3、用戶源站(CDN服務的客戶)
    4、外圍(計費、日誌分析、存儲等等)
  • DNS原理
    用戶輸入www.baidu.com,會看本地緩存或hosts中的記錄,就會解析。當二者都沒有,就會查詢本地DNS緩存,沒有就會請求根服務器,根服務器上查詢到有.com的頂級域名,會發送給本地DNS服務器,本地DNS服務器會請求COM頂級域名服務器,COM頂級域名服務器會將baidu.com的域名發送給本地DNS服務器,本地DNS服務器會請求baidu.com域名服務器,baidu.com的域名服務器查到有A記錄(IP地址),會發送給本地DNS服務器。本地DNS服務器會緩存一份給DNS高速緩存服務器,此時電腦就會根據IP地址請求對應的IP地址。
  • 智能DNS解析原理
    裏面有全國的城市對應的線路,根據用戶的DNS或IP地址,與智能DNS中的記錄進行比對,查看用戶的所屬地區,解析到對應的IP地址

四、CDN用途、架構、與分類

  • CDN用途
    企業或門戶網站的圖片、視頻、CSS、JS、HTML等靜態數據的緩存
  • CDN架構
    客戶----CDN分佈式集羣----原始服務器
  • CDN分類
    靜態資源:HTML、CSS、圖片、JS
    動態資源:JAVA、WEB服務

五、CDN相關問題解答

  1. CDN加速是對網站所在服務器加速,還是對其域名加速?
    CDN是隻對網站的某一個具體的域名加速。如果同一個網站有多個域名,則用戶訪問加入CDN的域名獲得加速效果,訪問未加入CDN的域名,或者直接訪問IP地址,則無法獲得CDN效果。
  2. CDN和鏡像站點比較有何優勢?
    CDN對每個節點都有可用性檢查,不合格的節點會第一時間剔出,從而保證了極高的可用率,而鏡像站點無法實現這一點。  
    CDN部署簡單,對原站基本不做任何改動即可生效。
  3. CDN和雙線機房相比有何優勢?
    常見的雙線機房只能解決網通和電信互相訪問慢的問題,其它ISP(譬如教育網,移動網,鐵通)互通的問題還是沒得到解決。  
    而CDN是訪問者就近取數據,而CDN的節點遍佈各ISP,從而保證了網站到任意ISP的訪問速度。另外CDN因爲其流量分流到各節點的原理,天然獲得抵抗網絡攻擊的能力。
  4. CDN使用後,原來的網站是否需要做修改,做什麼修改?
    一般而言,網站無需任何修改即可使用CDN獲得加速效果。只是對需要判斷訪客IP程序,才需要做少量修改。
  5. 爲什麼我的網站更新後,通過CDN後看到網頁還是舊網頁,如何解決?
    由於CDN採用各節點緩存的機制,網站的靜態網頁和圖片修改後,如果CDN緩存沒有做相應更新,則看到的還是舊的網頁。
    爲了解決這個問題,CDN管理面板中提供了URL推送服務,來通知CDN各節點刷新自己的緩存。  
    在URL推送地址欄中,輸入具體的網址或者圖片地址,則各節點中的緩存內容即被統一刪除,並且當即生效。  
    如果需要推送的網址和圖片太多,可以選擇目錄推送,即可以對網站下目錄下所有網頁和圖片進行了刷新。
  6. 能不能讓CDN不緩存某些即時性要求很高的網頁和圖片?
    只需要使用動態頁面,asp,php,jsp等動態技術做成的頁面不被CDN緩存,無需每次都要刷新。或者採用一個網站兩個域名,一個啓用CDN,另外一個域名不用CDN,對即時性要求高的頁面和圖片放在不用CDN的域名下。
  7. 網站新增了不少網頁和圖片,這些需要使用URL推送嗎?
    後來增加的網頁和圖片,不需要使用URL推送,因爲它們本來就不存在緩存中。
  8. 網站用CDN後,有些地區反映無法訪問了,怎麼辦?
    CDN啓用後,訪客不能訪問網站有很多種可能,可能是CDN的問題,也可能是源站點出現故障或者源站點被關閉,還可能是用戶自己所在的網絡出現問題,甚至電腦中毒導致無法訪問
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章