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