CDN如何实现,关键技术是什么?
轉載自??CDN如何實現,關鍵技術是什么?
CDN原理?? ? ? ? ? ?
CDN網絡是在用戶和服務器之間增加Cache層,如何將用戶的請求引導到Cache上獲得源服務器的數據,主要是通過接管DNS實現,這就是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.請求結果發給用戶。
當然很多細節沒有涉及到,比如第1步,首先向本地的DNS服務器請求。第5步,內容淘汰機制(根據TTL)等。但原理大體如此。
當用戶訪問加入CDN服務的網站時,域名解析請求將最終交給全局負載均衡DNS進行處理。全局負載均衡DNS通過一組預先定義好的策略,將當時最接近用 戶的節點地址提供給用戶,使用戶能夠得到快速的服務。同時,它還與分布在世界各地的所有CDNC節點保持通信,搜集各節點的通信狀態,確保不將用戶的請求 分配到不可用的CDN節點上,實際上是通過DNS做全局負載均衡。
對于普通的Internet用戶來講,每個CDN節點就相當于一個放置在它周圍的WEB。通過全局負載均衡DNS的控制,用戶的請求被透明地指向離他最近的節點,節點中CDN服務器會像網站的原始服務器一樣,響應用戶的請求。由于它離用戶更近,因而響應時間必然更快。
每個CDN節點由兩部分組成:負載均衡設備和高速緩存服務器。
負載均衡設備負責每個節點中各個Cache的負載均衡,保證節點的工作效率;同時,負載均衡設備還負責收集節點與周圍環境的信息,保持與全局負載DNS的通信,實現整個系統的負載均衡。CDN的管理系統是整個系統能夠正常運轉的保證。它不僅能對系統中的各個子系統和設備進行實時監控,對各種故障產生相應的告警,還可以實時監測到系統中 總的流量和各節點的流量,并保存在系統的數據庫中,使網管人員能夠方便地進行進一步分析。通過完善的網管系統,用戶可以對系統配置進行修改。
CDN網絡理論上,最簡單的CDN網絡有一個負責全局負載均衡的DNS和各節點一臺Cache,即可運行。DNS支持根據用戶源IP地址解析不同的IP,實現 就近訪問。為了保證高可用性等,需要監視各節點的流量、健康狀況等。一個節點的單臺Cache承載數量不夠時,才需要多臺Cache,多臺Cache同時 工作,才需要負載均衡器,使Cache群協同工作。
1.緩存算法[Squid];
2. 分發能力;
3. 負載均衡[Nginx]
4. 基于DNS[BIND];
5. 支持協議;
緩存算法決定命中率、源服務器壓力、POP節點存儲能力。
分發能力取決于IDC能力和IDC策略性分布。
負載均衡(智能調度)決定最佳路由、響應時間、可用性、服務質量。
基于DNS的負載均衡以CNAME實現[to cluster],智取最優節點服務,
緩存點有客戶端瀏覽器緩存、本地DNS服務器緩存。
緩存內容有DNS地址緩存、客戶請求內容緩存、動態內容緩存。
支持協議如靜動態加速(圖片加速、https帶證書加速)、下載加速、流媒體加速、企業應用加速、手機應用加速。
CDN提供一種機制,當用戶請求內容時,該內容能夠由以最快速度交付的Cache來向用戶提供,這個挑選“最優”的過程就叫做負載均衡。
從功能上看,典型的CDN系統由分發服務系統,負載均衡系統和運營管理系統組成。
?分發服務系統:最基本的工作單元就是Cache設備,cache(邊緣cache)負責直接響應最終用戶的訪問請求,把緩存在本地的內容快速地提供給用 戶。同時cache還負責與源站點進行內容同步,把更新的內容以及本地沒有的內容從源站點獲取并保存在本地。Cache設備的數量、規模、總服務能力是衡 量一個CDN系統服務能力的最基本的指標
負載均衡系統:主要功能是負責對所有發起服務請求的用戶進行訪問調度,確定提供給用戶的最終實際訪問地址。兩級調度體系分為全局負載均衡(GSLB)和本 地負載均衡(SLB)。GSLB主要根據用戶就近性原則,通過對每個服務節點進行“最優”判斷,確定向用戶提供服務的cache的物理位置。SLB主要負 責節點內部的設備負載均衡
運營管理系統:分為運營管理和網絡管理子系統,負責處理業務層面的與外界系統交互所必須的收集、整理、交付工作,包含客戶管理、產品管理、計費管理、統計分析等功能。
負責為用戶提供內容服務的cache設備應部署在物理上的網絡邊緣位置,即CDN邊緣層。CDN系統中負責全局性管理和 控制的設備組成中心層(二級緩存),中心層同時保存著最多的內容副本,當邊緣層設備未命中時,會向中心層請求,如果在中心層仍未命中,則需要中心層向源站 回源(如果是流媒體,代價很大)。
CDN骨干點和CDN POP點在功能上不同,中心和區域節點一般稱為骨干點,主要作為內容分發和邊緣未命中時的服務點;邊緣節點又被稱為POP(point of presence)節點,CDN POP點主要作為直接向用戶提供服務的節點。
應用協議加速:企業應用加速主要是動態加速和SSL加速。
SSL應用加速:由于需要大量的加密解密運算,SSL應用對服務器端的資源消耗是非常巨大的。CDN提供SSL應用加速后,由CDN的專用SSL加速硬件來完成加密解密運算工作。
網頁壓縮:HTTP1.1提出對網頁壓縮的支持。在服務器端可以先對網頁數據進行壓縮,然后將壓縮后的文件提供給訪問用戶,最后在用戶瀏覽器端解壓顯示(但要衡量加解壓時間)。
總結
以上是生活随笔為你收集整理的CDN如何实现,关键技术是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做设计需要什么配置的电脑(设计电脑的配置
- 下一篇: 设计电脑配置推荐2022(设计 电脑配置