萬盛學電腦網

 萬盛學電腦網 >> 網絡應用技術 >> 應用教程 >> 關於負載平衡技術的兩種方式

關於負載平衡技術的兩種方式

負載平衡技術的使用在很多系統中,或者是網絡層面,硬件產品,軟件產品中都有所體現。重要的是,對於網絡服務器的管理它肯定是個高手。那麼,到底有哪些種類呢?現在就來為大家介紹一下關於負載平衡技術的分類吧。

基於域名系統的負載平衡

NCSA的可擴展Web是最早使用動態DNS輪詢技術的web系統。在DNS中為多個地址配置同一個名字,因而查詢這個名字的客戶機將得到其中一個地址,從而使得不同的客戶訪問不同的服務器,達到負載平衡的目的。在很多知名的web站點都使用了這個技術:包括早期的yahoo站點、163等。動態 DNS輪詢實現起來簡單,無需復雜的配置和管理,一般支持bind8.2以上的類unix系統都能夠運行,因此廣為使用。

DNS負載平衡是一種簡單而有效的方法,但是存在不少問題。

首先域名服務器無法知道服務結點是否有效,如果服務結點失效,余名系統依然會將域名解析到該節點上,造成用戶訪問失效。

其次,由於DNS的數據刷新時間TTL(Time to LIVE)標志,一旦超過這個TTL,其他DNS服務器就需要和這個服務器交互,以重新獲得地址數據,就有可能獲得不同IP地址。因此為了使地址能隨機分配,就應使TTL盡量短,不同地方的DNS服務器能更新對應的地址,達到隨機獲得地址。然而將TTL設置得過短,將使DNS流量大增,而造成額外的網絡問題。

最後,它不能區分服務器的差異,也不能反映服務器的當前運行狀態。當使用DNS負載平衡的時候,必須盡量保證不同的客戶計算機能均勻獲得不同的地址。例如,用戶A可能只是浏覽幾個網頁,而用戶B可能進行著大量的下載,由於域名系統沒有合適的負載策略,僅僅是簡單的輪流均衡,很容易將用戶A的請求發往負載輕的站點,而將B的請求發往負載已經很重的站點。因此,在動態平衡特性上,動態DNS輪詢的效果並不理想。

高層協議內容交換技術

除了上述的幾種負載平衡技術之外,還有在協議內部支持負載平衡能力的技術,即URL交換或七層交換,提供了一種對訪問流量的高層控制方式。Web內容交換技術檢查所有的HTTP報頭,根據報頭內的信息來執行負載平衡的決策。例如可以根據這些信息來確定如何為個人主頁和圖像數據等內容提供服務,常見的有HTTP協議中的重定向能力等。

HTTP運行於TCP連接的最高層。客戶端通過恆定的端口號80的TCP服務直接連接到服務器,然後通過TCP連接向服務器端發送一個HTTP請求。協議交換根據內容策略來控制負載,而不是根據TCP端口號,所以不會造成訪問流量的滯留。

由於負載平衡設備要把進入的請求分配給多個服務器,因此,它只能在TCP連接時建立,且HTTP請求通過後才能確定如何進行負載的平衡。當一個網站的點擊率達到每秒上百甚至上千次時,TCP連接、HTTP報頭信息的分析以及進程的時延已經變得很重要了,要盡一切可能提高這幾各部份的性能。

在HTTP請求和報頭中有很多對負載平衡有用的信息。我們可以從這些信息中獲知客戶端所請求的URL和網頁,利用這個信息,負載平衡設備就可以將所有的圖像請求引導到一個圖像服務器,或者根據URL的數據庫查詢內容調用CGI程序,將請求引導到一個專用的高性能數據庫服務器。

如果網絡管理員熟悉內容交換技術,他可以根據HTTP報頭的cookie字段來使用Web內容交換技術改善對特定客戶的服務,如果能從HTTP請求中找到一些規律,還可以充分利用它作出各種決策。除了TCP連接表的問題外,如何查找合適的HTTP報頭信息以及作出負載平衡決策的過程,是影響Web內容交換技術性能的重要問題。如果Web服務器已經為圖像服務、SSL對話、數據庫事務服務之類的特殊功能進行了優化,那麼,采用這個層次的流量控制將可以提高網絡的性能。


copyright © 萬盛學電腦網 all rights reserved