簡介
- CDN(Content Delivery Network)即內容分發網絡,依靠部署在各地的邊緣服務器,通過中心平台的負載均衡、內容分發、調度等功能,使用戶就近獲取所需內容,提高用戶訪問響應速度和命中率。---- 來自:CDN百度百科
舉個簡單的例子:讓原本上海的瀏覽器要訪問北京主站內容的請求,轉而由部署在上海或其他地方的緩存來受理,這樣請求的數據只需要經過很短的距離就能夠到達請求端,有效利用帶寬並降低主站壓力
工作原理
-
CDN網絡一般分為中心節點和邊緣節點
- 中心節點功能:監控邊緣節點的情況(可用性,擁塞程度),全局負載均衡管理,與主站點進行數據同步
-
CDN工作原理:
瀏覽器訪問一個網站所經歷的步驟- 未加CDN緩存的網站
- 用戶在瀏覽器地址欄輸入要訪問的域名
- 瀏覽器解析域名得到對應的IP地址,再向此IP地址的服務器發出訪問請求
- 瀏覽器根據服務器返回的東西顯示網頁內容
- 加CDN緩存的網站
- 用戶在瀏覽器中輸入要訪問的域名
- 瀏覽器對域名解析,(CDN對域名解析過程進行了調整)得到該域名的CNAME記錄,然后利用全局的負載均衡DNS解析得到實際的IP地址
- 瀏覽器在得到了實際的IP地址(緩存服務器的IP)后向緩存服務器發出訪問請求
- 緩存服務器根據瀏覽器提供的要訪問的域名通過DNS解析得到該域名對應的實際的IP地址,然后該緩存服務器向此實際IP地址提交訪問請求
- 緩存服務器從實際IP地址得到內容后,進行兩個操作:
- 將得到的內容保存到本地,以便以后使用
- 將獲取的內容返回給客戶端,完成數據服務過程
- 未加CDN緩存的網站
-
示例:
- 如圖所示:
- 瀏覽器訪問站點的步驟:
- 用戶在瀏覽器的地址欄中輸入www.web.com,然后回車,瀏覽器發現本地沒有DNS緩存,就向網站的DNS服務器請求
- 網站的DNS域名解析器設置了CNAME,指向了www.web.51cdn.com(CDN只能接職能負載均衡系統)
- 職能DNS負載均衡系統解析域名,把對用戶響應速度最快的IP節點返回給用戶
- 瀏覽器向該IP節點發送請求
- 第一次訪問的時候,CDN服務器請求原web站點,得到內容后一方面將得到的內容緩存到本地;另一方面將請求的結果返回給客戶端(下次訪問的時候,如果節點的緩存內容可用的話,就不會再請求原web站點了)
- 如圖所示:
-
CDN關鍵技術
CND關鍵技術有:內容路由技術、內容分發技術、內容存儲技術、內容管理技術- 內容路由功能
- CDN的負載均衡系統實現CDN的內容路由功能。CDN內容路由功能作用使用戶請求到達CDN網絡中的最佳節點
- 全局負載均衡主要目的是讓用戶的請求到達CDN網絡中最近的節點
- 局部負載均衡 在特定的范圍內尋找一台合適的節點提供服務(要考慮到節點的健康性、負載情況、支持的媒體格式等運行狀態)
- 內容分發技術
內容分發技術主要是PUSH和PULL- PUSH是一種主動分發的技術,通常由內容管理系統發起,將內容從源或者中心媒體資源庫發布到各個邊緣的Cache節點(HTTP/FTP)
- PULL 是一種被動的分發技術,當用戶請求的內容不在請求所達到的邊緣Cache的節點上時,該節點會從內容源或其他節點PULL下所需的內容(按需分發)
- 內容存儲技術
- 內容源的存儲
通常采用海量存儲架構(內容的規模及吞吐量較大) - 在Cache節點中的存儲
Cache節點的存儲要考慮:- 功能上,對各種內容格式的支持、對部分緩存的支持
- 性能上,容量大小,吞吐率、可靠性及穩定性
- 內容源的存儲
- 內容管理技術
本地內容管理(對Cache節點而言)的目標是提高內容服務的效率,提高本地節點的存儲利用率。- 本地內容索引是實現基於內容感知調度的關鍵
- 本地內容的復制。通常為了提高存儲的效率,同一個內容只在某個特定的節點中存儲一份,當對該內容的訪問超過這個節點的能力范圍,就將該內容進行分發到其他節點上
- 本地內容訪問狀態的收集。搜集各個節點上各個內容訪問的統計信息,節點可用服務能力及內容變化的情況
注:在這里只是簡單介紹了一下這幾種技術,並不是特別詳細,先對這些有個大概了解,方便以后的學習,如果感覺本文的內容說的不具體的話可以看一下這篇文章:CDN技術詳解及實現原理,因為有些東西我還不懂,所以有些內容還未涉及到,請大家見諒。
- 內容路由功能
注:本文參考 CDN 及 CDN的四大關鍵技術
如需轉載請注明出處:http://www.cnblogs.com/zhuchenglin/p/8978600.html
我的博客即將搬運同步至騰訊雲+社區,邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=24pg1rt5k61ws