CDN的四大關鍵技術

2021-05-23 16:46:13 字數 3113 閱讀 9087

cdn的四大關鍵技術

隨著寬頻網路和寬頻流**應用的興起,cdn(通常被稱為內容分發網路content distribution network,有時也被稱作內容傳遞網路contentdeliverynetwork)作為一種提高網路內容,特別是提高流**內容傳輸的服務質量、節省骨幹網路頻寬的技術,在國內外得到越來越廣泛的應用。

cdn的關鍵技術主要有內容路由技術、內容分發技術、內容儲存技術、內容管理技術等。

內容路由技術

cdn負載均衡系統實現cdn的內容路由功能。它的作用是將使用者的請求導向整個cdn網路中的最佳節點。最佳節點的選定可以根據多種策略,例如距離最近、節點負載最輕等。負載均衡系統是整個cdn的核心,負載均衡的準確性和效率直接決定了整個cdn的效率和效能。www.xker.com(小新技術網)

通常負載均衡可以分為兩個層次:全域性負載均衡(gslb)和本地負載均衡(slb)。全域性負載均衡(gslb)主要的目的是在整個網路範圍內將使用者的請求定向到最近的節點(或者區域)。因此,就近性判斷是全域性負載均衡的主要功能。本地負載均衡一般侷限於一定的區域範圍內,其目標是在特定的區域範圍內尋找一台最適合的節點提供服務,因此,cdn節點的健康性、負載情況、支援的**格式等執行狀態是本地負載均衡進行決策的主要依據。

負載均衡可以通過多種方法實現,主要的方法包括dns、應用層重定向、傳輸層重定向等等。

對於全域性負載均衡而言,為了執行就近性判斷,通常可以採用兩種方式,一種是靜態的配置,例如根據靜態的ip位址配置表進行ip位址到cdn節點的對映。另一種方式是動態的檢測,例如實時地讓cdn節點探測到目標ip的距離(可以採用rrt,hops作為度量單位),然後比較探測結果進行負載均衡。當然,靜態和動態的方式也可以綜合起來使用。

對於本地負載均衡而言,為了執行有效的決策,需要實時地獲取cache裝置的執行狀態。獲取的方法一般有兩種,一種是主動探測,一種是協議互動。主動探測針對slb裝置和cache裝置沒有協議互動介面的情況,通過ping等命令主動發起探測,根據返回結果分析狀態。另一種是協議互動,即slb和 cache根據事先定義好的協議實時交換執行狀態資訊,以便進行負載均衡。比較而言,協議互動比探測方式要準確可靠,但是目前尚沒有標準的協議,各廠家的實現一般僅是私有協議,互通比較困難。

內容分發技術

內容分發包含從內容源到cdn邊緣的cache的過程。從實現上看,有兩種主流的內容分發技術:push和pull.

push是一種主動分發的技術。通常,push由內容管理系統發起,將內容從源或者中心**資源庫分發到各邊緣的cache節點。分發的協議可以採用http/ftp等。通過push分發的內容一般是比較熱點的內容,這些內容通過push方式預分發(preload)到邊緣cache,可以實現有針對的內容提供。對於push分發需要考慮的主要問題是分發策略,即在什麼時候分發什麼內容。一般來說,內容分發可以由cp(內容提供商)或者cdn內容管理員人工確定,也可以通過智慧型的方式決定,即所謂的智慧型分發。它根據使用者訪問的統計資訊,以及預定義的內容分發的規則,確定內容分發的過程。

pull是一種被動的分發技術,pull分發通常由使用者請求驅動。當使用者請求的內容在本地的邊緣cache上不存在(未命中)時,cache啟動pull方法從內容源或者其他cdn節點實時獲取內容。在pull方式下,內容的分發是按需的。

在實際的cdn系統中,一般兩種分發方式都支援,但是根據內容的型別和業務模式的不同,在選擇主要的內容分發方式時會有所不同。通常,push的方式適合內容訪問比較集中的情況,如熱點的影視流**內容;pull方式比較適合內容訪問分散的情況。

在內容分發的過程中,對於cache裝置而言,關鍵的是需要建立內容源url、內容發布的url、使用者訪問的url,以及內容在cache中儲存的位置之間的對映關係。

內容儲存技術

對於cdn系統而言,需要考慮兩個方面的內容儲存問題。乙個是內容源的儲存,乙個是內容在cache節點中的儲存。

對於內容源的儲存,由於內容的規模比較大(通常可以達到幾個甚至幾十個tb),而且內容的吞吐量較大,因此,通常採用海量儲存架構。如nas和son.

對於在cache節點中的儲存,是cache設計的乙個關鍵問題。需要考慮的因素包括功能和效能兩個方面:在功能上包括對各種內容格式的支援、對部分快取的支援,在效能上包括支援的容量、多檔案吞吐率、可靠性、穩定性。

其中,多種內容格式的支援要求儲存系統根據不同檔案格式的讀寫特點進行優化,以提高檔案內容讀寫的效率,特別是對流**檔案的讀寫。

部分快取能力指流**內容可以以不完整的方式儲存和讀取。部分快取的需求來自使用者訪問行為的隨機性,因為許多使用者並不會完整地收看整個流**節目,事實上,許多使用者訪問單個流**節目的時間不超過10分鐘。因此,部分快取能力能夠大大提高儲存空間的利用率,並有效地提高使用者請求的響應時間。但是部分快取可能導致內容出現碎片問題,需要進行良好的設計和控制。

cache儲存的另乙個重要因素是儲存的可靠性,目前,多數儲存系統都採用了raid技術進行可靠儲存。但是不同裝置使用的raid方式各有不同。

內容管理技術

內容管理在廣義上涵蓋了從內容的發布、注入、分發、調整、傳遞等一系列過程。在這裡,內容管理重點強調內容進入cache點後的內容管理,我們稱為本地內容管理。

本地內容管理主要針對乙個cdn節點(由多個cdn cache裝置和乙個slb裝置構成)進行。本地內容管理的主要目標是提高內容服務的效率,提高本地節點的儲存利用率。通過本地內容管理,可以在cdn節點實現基於內容感知的排程,通過內容感知的排程,可以避免將使用者重定向到沒有該內容的cache裝置上,從而提高負載均衡的效率。通過本地內容管理還可以有效地實現在cdn節點內容的儲存共享,提高儲存空間的利用率。

在實現上,本地內容管理主要包括如下幾個方面。

一是本地內容索引。本地內容管理首先依賴於對本地內容的了解。包括每個cache裝置上內容的名稱、url、更新時間、內容資訊等。本地內容索引是實現基於內容感知的排程的關鍵。

二是本地內容拷貝。通常,為了提高儲存效率,同乙個內容在乙個cdn節點中僅儲存乙份,即僅儲存在某個特定的cache上。但是一旦對該內容的訪問超過該cache的服務提供能力,就需要在本地(而不是通過pusl的方式)實現內容的分發。這樣可以大大提高效率。

三是本地內容訪問狀態資訊收集。蒐集各個cache裝置上各個內容訪問的統計資訊,cache裝置的可用服務提供能力及內容變化的情況。

可以看出,通過本地內容管理,可以將內容的管理從原來的cache裝置一級,提高到cdn節點一級,從而大大增加了cdn的可擴充套件性和綜合能力。

綜上所述,cdn作為一種支援大規模高質量的流**服務的關鍵技術,目前已經基本成熟,具備了廣泛應用的能力。

CDN採用的關鍵技術

cdn的實現,對技術上的要求是很高的,它所採用的關鍵技術包括 負載均衡技術 動態內容路由 快取記憶體機制 動態內容分發與複製 網路安全機制等。動態內容路由 當使用者訪問加入cdn服務的 時,網域名稱解析請求將最終由重定向dns負責處理。它通過一組預先定義好的策略 如內容型別 地理區域 網路負載狀況等...

MFC中的六大關鍵技術

1 mfc程式的初始化工作 在mfc中所有的類都 於乙個基類 cobject。mfc程式初始化過程中,其實就是虛函式的呼叫的過程,分清呼叫執行的到底是哪乙個具體的虛函式,是父類的虛函式,還是基類的虛函式,都是至關重要的。2 rtti執行時型別識別 mfc程式執行過程中需要對類的型別進行動態的判斷。在...

大資料的5大關鍵技術點

大資料技術,就是從各種型別的資料中快速獲得有價值資訊的技術。大資料領域已經湧現出了大量新的技術,它們成為大資料採集 儲存 處理和呈現的有力 大資料處理關鍵技術一般包括 大資料採集 大資料預處理 大資料儲存及管理 大資料分析及挖掘 大資料展現和應用 大資料檢索 大資料視覺化 大資料應用 大資料安全等 ...