CDN原理詳細解析
1.用戶向瀏覽器輸入www.web.com這個域名,瀏覽器第一次發現本地沒有dns緩存,則向網站的DNS服務器請求;
2.網站的DNS域名解析器設置了CNAME,指向了www.web.51cdn.com,請求指向了CDN網絡中的智能DNS負載均衡系統;
3.智能DNS負載均衡系統解析域名,把對用戶響應速度最快的IP節點返回給用戶;
4.用戶向該IP節點(CDN服務器)發出請求;
5.由於是第一次訪問,CDN服務器會向原web站點請求,並緩存內容;
6.請求結果發給用戶。
CDN網絡是在用戶和服務器之間增加Cache層,如何將用戶的請求引導到Cache上獲得源服務器的數據,主要是通過接管DNS實現,這就是CDN的最基本的原理,當然很多細節沒有涉及到,比如第1步,首先向本地的DNS服務器請求。第5步,內容淘汰機制(根據TTL)等。但原理大體如此。
當用戶訪問加入CDN服務的網站時,域名解析請求將最終交給全局負載均衡DNS進行處理。全局負載均衡DNS通過一組預先定義好的策略,將當時最接近用
戶的節點地址提供給用戶,使用戶能夠得到快速的服務。同時,它還與分布在世界各地的所有CDNC節點保持通信,搜集各節點的通信狀態,確保不將用戶的請求
分配到不可用的CDN節點上,實際上是通過DNS做全局負載均衡。
對於普通的Internet用戶來講,每個CDN節點就相當於一個放置在它周圍的WEB。通過全局負載均衡DNS的控制,用戶的請求被透明地指向離他最近的節點,節點中CDN服務器會像網站的原始服務器一樣,響應用戶的請求。由於它離用戶更近,因而響應時間必然更快。
每個CDN節點由兩部分組成:負載均衡設備和高速緩存服務器
負載均衡設備負責每個節點中各個Cache的負載均衡,保證節點的工作效率;同時,負載均衡設備還負責收集節點與周圍環境的信息,保持與全局負載DNS的通信,實現整個系統的負載均衡。CDN的管理系統是整個系統能夠正常運轉的保證。它不僅能對系統中的各個子系統和設備進行實時監控,對各種故障產生相應的告警,還可以實時監測到系統中 總的流量和各節點的流量,並保存在系統的數據庫中,使網管人員能夠方便地進行進一步分析。通過完善的網管系統,用戶可以對系統配置進行修改。
理論上,最簡單的CDN網絡有一個負責全局負載均衡的DNS和各節點一臺Cache,即可運行。DNS支持根據用戶源IP地址解析不同的IP,實現 就近訪問。為了保證高可用性等,需要監視各節點的流量、健康狀況等。一個節點的單臺Cache承載數量不夠時,才需要多臺Cache,多臺Cache同時 工作,才需要負載均衡器,使Cache群協同工作。
CDN原理詳細解析