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

2022-08-26 12:42:13 字數 2601 閱讀 4547

負載均衡就是智慧型排程

全域性負載均衡(gslb)的負載均衡主要是在多個節點之間進行均衡,其結果可能直接終結負載均衡過程,

也可能將使用者訪問交付下一層次的(區域或本地)負載均衡系統進行處理。

gslb最通用的是基於dns解析方式,還有http重定向、ip路由等方法

dns就是ip位址和**互換

當需要訪問abc.com這個站點時,

實際上我們想要瀏覽的網頁內容都存放在網際網路中對應某個ip的伺服器上,

而瀏覽器的任務就是找到我們想要訪問的這台伺服器的ip位址,然後向它請求內容。

本地dns伺服器(local dns server)是使用者所在區域網或isp網路中的網域名稱伺服器。

當客戶端在瀏覽器裡請求abc.com時,瀏覽器會首先向本地dns伺服器請求將 abc.com解析成ip位址,

本地dns伺服器再向整個dns系統查詢,直到找到解析結果。

客戶端可以配置dns伺服器或通過dhcp來分配

dns給使用它的網際網路應用帶來額外的時延,有時時延還比較大,為了解決問題,需要引入「快取」機制。

快取是指dns查詢結果在主機(local dns server)中快取。

在區內主機對某個網域名稱發起第一次查詢請求時,

負責處理遞迴查詢的dns伺服器要傳送好幾次查詢(先查.root,再查.com之 類,再定位ip位址等)才能找到結果,

不過在這過程中它也得到了許多資訊,

比如各區域權威dns伺服器(就是告訴你最終abc.com在**的dns服務 器)和它們的位址、網域名稱解析最終結果。

他會把這些資訊儲存起來,當其他主機向它發起查詢請求時,它就直接向主機返回快取中能夠找到的結果,直到資料過期。

客戶端瀏覽器也可以快取dns響應資訊。

internet類資源記錄分為

–a記錄(address):網域名稱->多個ip的對映。對同乙個網域名稱,可以有多條a記錄

–ns記錄(name server):指定由哪台dns伺服器來解析

–soa記錄(start of authority):指定該區域的權威網域名稱伺服器

–cname記錄(canonical name):多個網域名稱->伺服器的對映

–ptr記錄(pointer record):ip->網域名稱的對映

dns系統本身是具備簡單負載分配能力的,這是基於dns的輪詢機制。

如果有多台web伺服器(多源)同時為站點 abc.com提供服務,abc.com的權威伺服器可能會解析出乙個或多個ip位址。

權威網域名稱伺服器還可以調整響應中ip位址的排列方式,即在每次響應中將不同的ip位址置於首位(取決於可服務能力和服務質量),

通過這種方式實現對這些web伺服器的負載均衡通過cname方式實現負載均衡:網域名稱伺服器獲得cname記錄後,

就會用記錄中的別名來替換查詢的網域名稱或主機名(實現多個網域名稱->伺服器對映)。

後面會查詢這個別名的a記錄來獲取相應的ip位址。

具體操作為:先將gslb的主機名定義為所查詢網域名稱的權威dns伺服器的別名,

然後將gslb主機名新增多條a記錄,分別對應多個伺服器的ip位址。

這樣,本地dns伺服器會向客戶端返回多個ip位址作為網域名稱的查詢結果,並且這些ip位址的排列順序是輪換的。

客戶端一般會選擇首個ip位址進行訪問。

負載均衡器作為權威dns伺服器:負載均衡器就會接收所有對這個網域名稱的dns請求,

從而能夠根據預先設定的一些策略來提供對網域名稱的智慧型dns解析。

f5的dns具有完整的dns功能以及增強的gslb特性,foundry、nortel、cisco和radware的產品 能實現部分dns功能。

負載均衡作為**dns伺服器:負載均衡器被註冊為乙個網域名稱空間的權威dns伺服器,

而真正的權威網域名稱伺服器則部署在負載均衡器後面。

所有的dns請求都會先到達負載均衡器,由負載均衡器**到真正的權威dns伺服器,然後修改權威dns伺服器返回的響應資訊。

真正的權威dns伺服器正常響應瀏覽器的dns請求,返回網域名稱解析結果列表,

這個響應會先傳送到負載均衡器,而負載均衡器會根據自己的策略選擇乙個效能最好的伺服器 ip並修改需要實現gslb的網域名稱的dns查詢響應,

對其他請求透明**,這樣就不會影響整個網域名稱空間的解析效能。

在基於dns方式下無論採用何種工作方式,都會有一些請求不會到達gslb,這是dns系統本身的快取機制在起作用。

當使用者請求的網域名稱在本地dns或本機(客戶端瀏覽器)得到了解析結果,這些請求就不會達到gslb。

cache更新時間越短,使用者請求達到gslb的機率越大。由於dns的快取機制遮蔽掉相當一部分使用者請求,從而大大減 輕了gslb處理壓力,使得系統抗流量衝擊能力顯著提公升,這也是很多商業cdn選擇dns機制做全域性負載均衡的原因之一。

但弊端在於,如果在dns快取重新整理間隔之內系統發生影響使用者服務的變化,

比如某個節點故障,某個鏈路擁塞等,使用者依然會被排程到故障部位去。

智慧型dns功能,它在向本地dns返回應答之前會先根據一些靜態或動態策略進行智慧型計算。

– 伺服器的「健康狀況」

– 地理區域距離

– 會話保持

– 響應時間

– ip位址權重

– 會話能力閾值

– 往返時間(ttl)

– 其他資訊,包括伺服器當前可用會話數、最少選擇次數、輪詢等

關於gslb的部署問題

CDN關鍵技術之負載均衡

內容來自 目前,基於負載均衡的演算法主要有三種 輪循 round robin 最小連線數 least connections first 和快速響應優先 faster response precedence 輪循演算法,就是將來自網路的請求依次分配給集群中的節點進行處理。最小連線數演算法,就是為集群...

簡述負載均衡 CDN技術

曾經見到知乎上有人問 為什麼像facebook這類的 需要上千個工程師維護?下面的回答多種多樣,但總結起來就是 乙個高效能的web系統需要從無數個角度去考慮他,大到伺服器的布局,小到軟體中某個檔案的實現,甚至於某個迴圈內的運算如果出現不嚴謹都可能導致全盤崩潰。上面提到web效能優化需要多個角度去考慮...

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

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