簡介
CDN 利用全局負載均衡技術將用戶的訪問指向離用戶最近的工作正常的流媒體伺服器上,由流媒體伺服器直接回響用戶的請求。伺服器中如果沒有用戶要訪問的內容,會根據配置自動從原伺服器抓取相應的內容並提供給用戶。 IPTV 可利用 CDN 為用戶提供 VOD 業務,通過 CDN 把視頻內容分發到靠近用戶端的 CDN 節點後,可以在一定程度上保證端到端的服務質量。
負載均衡
負載均衡技術不僅僅套用於CDN中,在網路的很多領域都得到了廣泛的套用,如伺服器的負載均衡、網路流量的負載均衡。顧名思義,網路中的負載均衡就是將網路的流量儘可能均勻分配到幾個能完成相同任務的伺服器或網路節點上,由此來避免部分網路節點過載。這樣既可以提高網路流量,又提高了網路的整體性能。在CDN中,負載均衡又分為伺服器負載均衡和伺服器整體負載均衡(也有的稱為伺服器全局負載均衡)。伺服器負載均衡是指能夠在性能不同的伺服器之間進行任務分配,既能保證性能差的伺服器不成為系統的瓶頸,又能保證性能高的伺服器的資源得到充分利用。而伺服器整體負載均衡允許Web網路託管商、門戶站點和企業根據地理位置分配內容和服務。通過使用多站點內容和服務來提高容錯性和可用性,防止因本地網或區域網路中斷、斷電或自然災害而導致的故障。在CDN的方案中伺服器整體負載均衡將發揮重要作用,其性能高低將直接影響整個CDN的性能。
複製技術
大家都知道,網站訪問回響速度取決於許多因素,如網路的頻寬是否有瓶頸、傳輸途中的路由是否有阻塞和延遲、網站伺服器的處理能力及訪問距離等。多數情況下,網站回響速度和訪問者與網站伺服器之間的距離有密切的關係。如果訪問者和網站之間的距離過遠的話,它們之間的通信一樣需要經過重重的路由轉發和處理,網路延誤不可避免。一個有效的方法就是利用內容分發與複製技術,將占網站主體的大部分靜態網頁、圖像和流媒體數據分發複製到各地的加速節點上。所以動態內容分發與複製技術也是CDN所需的一個主要技術。
快取技術
快取技術已經不是一種新鮮技術。Web快取服務通過幾種方式來改善用戶的回響時間,如代理快取服務、透明代理快取服務、使用重定向服務的透明代理快取服務等。通過Web快取服務,用戶訪問網頁時可以將廣域網的流量降至最低。對於公司內聯網用戶來說,這意味著將內容在本地快取,而無須通過專用的廣域網來檢索網頁。對於Internet用戶來說,這意味著將內容存儲在他們的ISP的快取器中,而無須通過Internet來檢索網頁。這樣無疑會提高用戶的訪問速度。CDN的核心作用正是提高網路的訪問速度,所以,快取技術將是CDN所採用的又一個主要技術。
技術手段
實現CDN的主要技術手段是高速快取、鏡像伺服器。可工作於DNS解析或HTTP重定向兩種方式,通過Cache伺服器,或異地的鏡像站點完成內容的傳送與同步更新。DNS方式用戶位置判斷準確率大於85%,HTTP方式準確率為99%以上;一般情況下,各Cache伺服器群的用戶訪問流入數據量與Cache伺服器到原始網站取內容的數據量之比在2:1到3:1之間,即分擔50%到70%的到原始網站重複訪問數據量;對於鏡像,除數據同步的流量,其餘均在本地完成,不訪問原始伺服器。
鏡像站點(Mirror Site)伺服器是我們經常可以看到的,它讓內容直截了當地進行分布,適用於靜態和準動態的數據同步。但是購買和維護新伺服器的費用較高,另外還必須在各個地區設定鏡像伺服器,配備專業技術人員進行管理與維護。大型網站在隨時更新各地伺服器的同時,對頻寬的需求也會顯著增加,因此一般的網際網路公司不會建立太多的鏡像伺服器。
高速快取手段的成本較低,適用於靜態內容。Internet的統計表明,超過80%的用戶經常訪問的是20%的網站的內容,在這個規律下,快取伺服器可以處理大部分客戶的靜態請求,而原始的WWW伺服器只需處理約20%左右的非快取請求和動態請求,於是大大加快了客戶請求的回響時間,並降低了原始WWW伺服器的負載。根據美國IDC公司的調查,作為CDN的一項重要指標 —— 快取的市場正在以每年近100%的速度增長,全球的營業額在2004年將達到45億美元。網路流媒體的發展還將剌激這個市場的需求。
網路架構
CDN網路架構主要由兩大部分,分為中心和邊緣兩部分,中心指CDN網管中心和DNS重定向解析中心,負責全局負載均衡,設備系統安裝在管理中心機房,邊緣主要指異地節點,CDN分發的載體,主要由Cache和負載均衡器等組成。
當用戶訪問加入CDN服務的網站時,域名解析請求將最終交給全局負載均衡DNS進行處理。全局負載均衡DNS通過一組預先定義好的策略,將當時最接近用戶的節點地址提供給用戶,使用戶能夠得到快速的服務。同時,它還與分布在世界各地的所有CDNC節點保持通信,蒐集各節點的通信狀態,確保不將用戶的請求分配到不可用的CDN節點上,實際上是通過DNS做全局負載均衡。
對於普通的Internet用戶來講,每個CDN節點就相當於一個放置在它周圍的WEB。通過全局負載均衡DNS的控制,用戶的請求被透明地指向離他最近的節點,節點中CDN伺服器會像網站的原始伺服器一樣,回響用戶的請求。由於它離用戶更近,因而回響時間必然更快。
每個CDN節點由兩部分組成:負載均衡設備和高速快取伺服器
負載均衡設備負責每個節點中各個Cache的負載均衡,保證節點的工作效率;同時,負載均衡設備還負責收集節點與周圍環境的信息,保持與全局負載DNS的通信,實現整個系統的負載均衡。
高速快取伺服器(Cache)負責存儲客戶網站的大量信息,就像一個靠近用戶的網站伺服器一樣回響本地用戶的訪問請求。
CDN的管理系統是整個系統能夠正常運轉的保證。它不僅能對系統中的各個子系統和設備進行實時監控,對各種故障產生相應的告警,還可以實時監測到系統中總的流量和各節點的流量,並保存在系統的資料庫中,使網管人員能夠方便地進行進一步分析。通過完善的網管系統,用戶可以對系統配置進行修改。
理論上,最簡單的CDN網路有一個負責全局負載均衡的DNS和各節點一台Cache,即可運行。DNS支持根據用戶源IP位址解析不同的IP,實現就近訪問。為了保證高可用性等,需要監視各節點的流量、健康狀況等。一個節點的單台Cache承載數量不夠時,才需要多台Cache,多台Cache同時工作,才需要負載均衡器,使Cache群協同工作。