參考:《CDN技術詳解》
目錄
- 概述
- 產生背景
- CDN的基本作業程序
- 用戶通過瀏覽器等方式訪問網站的程序
- CDN用戶訪問調度流程
- 架構
- 分發服務系統
- 負載均衡系統
- 運營管理系統
- 分類
- 基于不同內容承載型別的分類
- 基于內容生成機制的分類和分層加速服務
概述
在互聯網商業化不久,由于缺乏必要的流量管理和疏通手段,骨干帶寬被迅速消耗掉,IP網路流量秩序瀕于失衡,為解決這一難題,麻省理工學院的一批頂級科學家提出了CDN解決方案,從此以后,CDN就成為互聯網的基礎設施,伴隨著互聯網的潮起潮落而發展,
CDN(Content Distribute Network,內容分發網路)將內容推到網路的邊緣,為用戶提供就近性的邊緣服務,從而保證服務的質量和整個網路上的訪問秩序,解決了困擾內容提供商的內容“集中與分散”的兩難選擇,極大緩解了內容傳送瓶頸,CDN的發展促使整個互聯網產業進一步分工合作,使網站和應用開發者們能夠更關注于上層應用,
產生背景
1995年,麻省理工學院教授,互聯網發明者Tim Berners-Lee預見到當時互聯網使用者已經習以為常的網路擁擠難題,未來會成為互聯網應用的最大障礙,于是他向同事提出挑戰,要發明一種全新的、從根本上解決問題的方法來推送互聯網內容,他的這一提議造就了今天被大家普遍接受的互聯網基礎服務——CDN,
CDN的基本作業程序
用戶通過瀏覽器等方式訪問網站的程序
- ①用戶在自己的瀏覽器中輸入要訪問的網站域名,
- ②瀏覽器向本地DNS服務器請求對該域名的決議,
- ③本地DNS服務器中如果快取有這個域名的決議結果,則直接回應用戶的決議請求,
- ④本地DNS服務器中如果沒有關于這個域名的決議結果的快取,則以遞回方式向整個DNS系統請求決議,獲得應答后將結果反饋給瀏覽器,
- ⑤瀏覽器得到域名決議結果,就是該域名相應的服務設備的IP地址,
- ⑥瀏覽器向服務器請求內容,
- ⑦服務器將用戶請求內容傳送給瀏覽器,
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,就可以實作內容加速了,
架構
典型的CDN系統架構由分發服務系統、負載均衡系統和運營管理系統三大部分組成,
分發服務系統
該系統的主要作用是實作將內容從內容源中心向邊緣的推送和存盤,承擔實際的內容資料流的全網分發作業和面向最終用戶的資料請求服務,
分發服務系統最基本的作業單元就是許許多多的Cache設備(快取服務器),Cache負責直接回應最終用戶的訪問請求,把快取在本地的內容快速地提供給用戶,同時Cache還負責與源站點進行內容同步,把更新的內容以及本地沒有的內容從源站點獲取并保存在本地,
負載均衡系統
負載均衡系統是一個CDN系統的神經中樞,主要功能是負責對所有發起服務請求的用戶進行訪問調度,確定提供給用戶的最終實際訪問地址,
大多數CDN系統的負載均衡系統是分級實作的,一般而言,兩級調度體系分為全域負載均衡(GSLB)和本地負載均衡(SLB),
其中,全域負載均衡(GSLB)主要根據用戶就近性原則,通過對每個服務節點進行“最優”判斷,確定向用戶提供服務的Cache的物理位置,
本地負載均衡(SLB)主要負責節點內部的設備負載均衡,當用戶請求從GSLB調度到SLB時,SLB會根據節點內各Cache設備的實際能力或內容分布等因素對用戶進行重定向,常用的本地負載均衡方法有基于4層調度、基于7層調度、鏈路負載調度等,
運營管理系統
運營管理系統是CDN系統的業務管理功能物體,負責處理業務層面的與外界系統互動所必需的一些收集、整理、交付作業,包含客戶管理、產品管理、計費管理、統計分析等功能,
分類
基于不同內容承載型別的分類
從CDN承載的內容型別來看,主要有靜態網頁內容、動態網頁內容、流媒體、下載型檔案和應用協議,因而我們將CDN服務分為網頁加速、流媒體加速、檔案傳輸加速和應用協議加速,
基于內容生成機制的分類和分層加速服務
從內容的生成機制來看,互聯網上的內容主要有兩類:一是靜態內容,二是動態內容,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/509.html
標籤:其他
