全域性負載均衡與CDN內容分發

2022-01-09 20:53:52 字數 4522 閱讀 1362

cdn的全稱是content delivery network,即內容分發網路。cdn是構建在現有網路基礎之上的智慧型虛擬網路,依靠部署在各地的邊緣伺服器,通過中心平台的負載均衡、內容分發、排程等功能模組,使使用者就近獲取所需內容,降低網路擁塞,提高使用者訪問響應速度和命中率。cdn的關鍵技術主要有內容儲存和分發技術。

簡而言之,就是將資料部署在各地的伺服器中,通過負載均衡技術,讓使用者就近獲取伺服器中的資料。

cdn的基本原理是廣泛採用各種快取伺服器,將這些快取伺服器分布到使用者訪問相對集中的地區或網路中,在使用者訪問**時,利用全域性負載技術將使用者的訪問指向距離最近的工作正常的快取伺服器上,由快取伺服器直接響應使用者請求。

全域性負載均衡主要用於在多個區域擁有自己伺服器的站點,為了使全球使用者只以乙個ip位址或網域名稱就能訪問到離自己最近的伺服器,從而獲得最快的訪問速度。

cdn的基本思路是盡可能避開網際網路上有可能影響資料傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。通過在網路各處放置節點伺服器所構成的在現有的網際網路基礎之上的一層智慧型虛擬網路,cdn系統能夠實時地根據網路流量和各節點的連線、負載狀況以及到使用者的距離和響應時間等綜合資訊將使用者的請求重新導向離使用者最近的服務節點上。其目的是使使用者可就近取得所需內容,解決 internet網路擁擠的狀況,提高使用者訪問**的響應速度。

歸納起來,cdn具有以下主要功能:

節省骨幹網頻寬,減少頻寬需求量;

提供伺服器端加速,解決由於使用者訪問量大造成的伺服器過載問題;

服務商能使用web cache技術在本地快取使用者訪問過的web頁面和物件,實現相同物件的訪問無須占用主幹的出口頻寬,並提高使用者訪問網際網路頁面的相應時間的需求;

能克服**分布不均的問題,並且能降低**自身建設和維護成本;

降低「通訊風暴」的影響,提高網路訪問的穩定性。

簡單地說,內容分發網路(cdn)是乙個經策略性部署的整體系統,包括分布式儲存、負載均衡、網路請求的重定向和內容管理4個要件,而內容管理和全域性的網路流量管理(traffic management)是cdn的核心所在。通過使用者就近性和伺服器負載的判斷,cdn確保內容以一種極為高效的方式為使用者的請求提供服務。總的來說,內容服務基於快取伺服器,也稱作**快取(surrogate),它位於網路的邊緣,距使用者僅有"一跳"(single hop)之遙。

同時,**快取是內容提供商源伺服器(通常位於cdn服務提供商的資料中心)的乙個透明映象。這樣的架構使得cdn服務提供商能夠代表他們客戶,即內容**商,向終端使用者提供盡可能好的體驗,而這些使用者是不能容忍請求響應時間有任何延遲的。

全域性負載均衡(global server load balance, gslb),全域性負載均衡是指對分別放置在不同的地理位置的伺服器群間作負載均衡。伺服器負載均衡是指對本地的伺服器群做負載均衡。主要用於在多個區域擁有自己伺服器的站點,為了使全球使用者只以乙個ip位址或網域名稱就能訪問到離自己最近的伺服器,從而獲得最快的訪問速度。

對於全域性負載均衡而言,其核心就是伺服器群的選擇。對於某個特定的客戶,應該將其定向到哪乙個服務群?應該使用什麼標準來進行這種選擇?一般情況下,主要考慮兩個因素:臨近程度和負載大小。

臨近機制主要考察伺服器群與使用者之間的物理距離。選擇地理位置最接近使用者的伺服器集群,可以減少服務響應到達使用者所經過的中轉次數,從而降低中轉節點對服務質量的影響。常見的有兩種方式,一種是靜態配置,例如根據靜態的ip位址配置表進行ip位址到伺服器群的對映。另一種方式是動態的檢測,例如實時地探測到目標ip的距離(可以採用到達目標ip經過的跳數作為度量單位),然後比較探測結果進行選擇。

負載機制比較各個伺服器群的負載,確定由哪乙個伺服器群來響應請求。在全域性負載均衡中,考察的是伺服器群的負載,而不是單個伺服器的負載,因此,需要更多地考慮普遍的問題,比如,需要考慮站點的最大連線數、站點的平均響應時間、服務質量等。

常見的gslb實現方式有三種: dns輪詢、http重定向、ip欺騙(又稱三角傳輸)。這三種實現方式都是在使用者通過網域名稱來訪問目標伺服器時,由gslb裝置進行智慧型決策,將使用者引導到乙個最佳的服務ip。

使用者訪問某個**時,需要首先通過網域名稱解析服務(dns)獲得**的ip。網域名稱解析通常不是一次性完成的,常常需要查詢若干不同的網域名稱伺服器才能找到對應的ip。如下圖所示,使用者首先在本地配置乙個本地dns伺服器位址,本地dns伺服器收到dns請求後若不能解析,會將請求**給更高一級的dns伺服器直到找到網域名稱對應的ip或確定網域名稱不存在。

對於加入了gslb的情況,乙個gslb裝置(可能是乙個4層交換機)會最終代替dns伺服器完成網域名稱解析。下圖展示兩種流程的不同。

優點是:實現簡單、實施容易、成本低。

缺點是:當gslb裝置採用「使用者就近訪問」的原則作為選擇最優伺服器的策略時,會存在判斷不准的現象。原因是在這種策略下,gslb裝置是根據使用者ip位址和內容伺服器ip位址比較來判斷其就近性的,但由於dns響應是通過本地dns伺服器到達使用者的,gslb裝置實際上只能得到使用者的本地dns伺服器位址,若使用者指定的dns伺服器ip不能正確代表使用者的實際位置,就會出現判斷不准的現象。

為了解決基於dns實現方式判斷不准的問題,又出現了基於http重定向的gslb。這種方案中gslb使用http重定向技術,將使用者訪問重定向到最合適的伺服器上。

使用基於http重定向方案,首先在dns中將gslb裝置的ip位址登記為網域名稱的a記錄(既網域名稱對應的ip)。如上圖所示,使用者首先通過dns得到gslb裝置的ip位址,此時使用者以為這就是站點伺服器的ip,並向其傳送http請求。gslb裝置收到http請求後使用一定策略選擇乙個最合適的伺服器,然後gslb裝置向使用者傳送乙個http重定向指令(http302),並附上選出的伺服器的ip位址。最後,使用者根據重定向ip訪問站點的伺服器。

優點:由於直接向使用者傳送http重定向指令,可以得到使用者的真實ip,從而解決了判斷不準確的問題。

缺點是只能為http訪問重定向。

http重定向方案解決了判斷不準確的問題,但只能針對http協議應用使用。對於http協議以外的訪問,就需要使用基於ip欺騙(又稱三角傳輸)的gslb。

基於ip欺騙的方案同樣需要首先將gslb裝置的ip位址在dns中登記為網域名稱的a記錄,這樣使用者對該網域名稱的請求包都會先傳送到gslb裝置。如上圖所示,gslb裝置首次收到服務請求包後,會選擇乙個最合適的伺服器,並將服務請求包傳送到該伺服器。伺服器在向使用者傳送響應包時,將其源ip位址字段改為gslb裝置的ip,傳送給使用者。

這樣,整個過程對使用者來說,感覺到的只是gslb裝置在為其提供服務,並不知道其中經歷這樣乙個三角傳輸的過程。而且這種方案可以對所有型別的訪問如http、ftp等進行重定向,但其速度和效率相對比前兩種方案要差一點,因為使用者所有的訪問請求都通過三個點才能響應,經歷了更多的路徑和處理,所以其主要作為http重定向方案的補充方案在同一gslb裝置中實現。

上文中介紹的三種方案,解決了如何將使用者引導到指定伺服器群的問題,而在此之前首先需要使用某種方式選出最適合使用者的伺服器群,也就是gslb在選擇伺服器群時所採用的策略。接下來介紹一些常用的gslb策略。

3)往返時間(round trip time, rtt):rtt策略是基於區域之外最常用的策略。有兩種模式的rtt測量:active rtt測量與passive rtt測量。在實際部署中,由於網路限制和效能原因,active rtt往往無法使用,passive rtt更實用一些。

a) active rtt 測量:

當gslb controller收到來自ldns的dns請求時,gslb controller會通知所有站點負載均衡裝置對該ldns進行rtt測量。根據採集到的rtt值,gslb controller會選擇rtt值最小的站點的vip返回給ldns。

由於active rtt採用dns query或icmp進行rtt測量,在有些網路中可能會被安全策略所過濾而無法工作。

active rtt測量會產生額外的dns query或icmp流量,在有些網路中使用者不希望有太多類似的非使用者流量。

b) passive rtt測量:

passive rtt測量指從內容站點收到乙個使用者發出連線請求(傳送tcn syn)到接收到使用者的確認(收到tcp ack)所經歷的時間。而不是簡單的ping的響應時間,可以更精確的衡量訪問最快的站點。

passive rtt測量不會主動去進行測量,也不會產生額外的資料流量,而是在使用者向返回的vip建立連線時進行採集。

passive rtt的測量值真正反映了使用者的上網感受,在運營商網路中也不會產生額外流量。也不會受到其他運營商或網路的安全策略的影響。

DNS負載均衡與CDN內容分發技術

負載均衡 負載均衡技術能平衡伺服器及群眾所有的伺服器和請求應用之間的通訊負載,根據實時響應時間進行判斷,將任務交由負載最輕的伺服器來處理,以實現真正的智慧型通訊管理和最佳的伺服器群效能,從而使 始終保持執行和保證其可訪問性。dns負載均衡 為了充分利用現有伺服器軟體的種種優勢,負載均衡最好是在伺服器...

CDN內容負載均衡軟體介紹

隨著網際網路的發展,使用者在使用網路時對 的瀏覽速度和效果愈加重視,但由於網民數量激增,網路訪問路徑過長,從而使使用者的訪問質量受到嚴重影響。特別是當使用者與 之間的鏈路被突發的大流量資料擁塞時,對於異地網際網路使用者急速增加的地區來說,訪問質量不良更是乙個急待解決的問題。如何才能讓各地的使用者都能...

CDN技術之 全域性負載均衡(GSLB)

負載均衡就是智慧型排程 全域性負載均衡 gslb 的負載均衡主要是在多個節點之間進行均衡,其結果可能直接終結負載均衡過程,也可能將使用者訪問交付下一層次的 區域或本地 負載均衡系統進行處理。gslb最通用的是基於dns解析方式,還有http重定向 ip路由等方法 dns就是ip位址和 互換 當需要訪...