天天看點

CDN工作原理詳解

部落客前幾天用阿裡雲的CDN對這個部落格進行了一波加速,于是對CDN的工作原理很是好奇,經過一番google,便有了今天這篇文章。

結合CDN的基礎架構,就其服務的過程與原理,作如下詳解:

CDN工作原理詳解
  1. 當使用者去通路一個内容URL,本地的DNS系統會将其解析,最終将域名的解析權交給CNAME指向的CDN專用DNS伺服器。
  2. CDN的DNS伺服器将CDN的全局負載均衡裝置的IP位址傳回使用者。
  3. 使用者向CDN的全局負載均衡裝置發起内容URL的通路請求。
  4. CDN的全局負載均衡裝置根據使用者的IP位址,以及使用者請求的内容URL,選擇一台使用者所屬區域的區域負載均衡裝置,告訴使用者向這台裝置發起請求。
  5. 區域負載均衡裝置會為使用者選擇一台合适的緩存伺服器提供服務,選擇的依據包括:根據使用者的IP位址,判斷哪一台伺服器距使用者最近;根據使用者所請求的URL中攜帶的内容名稱,判斷哪一台伺服器上有使用者所需内容;查詢各個伺服器目前的負載情況,判斷哪一台伺服器尚有服務能力。基于以上這些條件的綜合分析之後,區域負載均衡裝置會向全局負載均衡裝置傳回一台緩存伺服器的IP位址。
  6. 全局負載均衡裝置把緩存伺服器的IP位址傳回給使用者。
  7. 使用者向緩存伺服器發起請求,緩存伺服器響應使用者請求,将使用者所需内容傳送到使用者終端。如果這台緩存伺服器上并沒有使用者想要的内容,而區域均衡裝置依然将它配置設定給了使用者,那麼這台伺服器就要向它的上一級緩存伺服器請求内容,直至追溯到網站的源伺服器,将内容拉取到本地。

CDN是一個經政策性部署的整體系統,包括分布式存儲、負載均衡、網絡請求的重定向和内容管理4個要件,而内容管理和全局的網絡流量管理是CDN的核心所在。通過使用者就近性和伺服器負載的判斷,CDN確定内容以一種極為高效的方式為使用者的請求提供服務。

其主要特點如下:

  1. 本地Cache加速,提高了企業站點(尤其含有大量圖檔和靜态頁面站點)的通路速度,并大大提高以上性質站點的穩定。
  2. 鏡像服務消除了不同營運商之間互聯的瓶頸造成的影響,實作了跨營運商的網絡加速,保證不同網絡中的使用者都能得到良好的通路品質。
  3. 遠端通路使用者根據DNS負載均衡技術,智能自動選擇Cache伺服器,選擇最快的Cache伺服器,加快遠端通路的速度
  4. 自動生成伺服器的遠端鏡像cache伺服器,遠端使用者通路時從cache伺服器上讀取資料,減少遠端通路的帶寬、分擔網絡流量、減輕原站點WEB伺服器負載等功能。
  5. 廣泛分布的CDN節點加上節點之間的智能備援機制,可以有效地預防黑客入侵以及降低各種DDOS攻擊對網站的影響,同時保證較好的服務品質 。