負載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價有效的方法擴展服務(wù)器帶寬和增加吞吐量,加強網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高網(wǎng)絡(luò)的靈活性和 可用性。它主要完成以下任務(wù):解決網(wǎng)絡(luò)擁塞問題,服務(wù)就近提供,實現(xiàn)地理位置無關(guān)性 ;為用戶提供更好的訪問質(zhì)量;提高服務(wù)器響應速度;提高服務(wù)器及其他資源的利用效率;避免了網(wǎng)絡(luò)關(guān)鍵部位出現(xiàn)單點失效。
對一個網(wǎng)絡(luò)的負載均衡應用,可以從網(wǎng)絡(luò)的不同層次入手,具體情況要看對網(wǎng)絡(luò)瓶頸所在之處的具體分析,大體上不外乎從傳輸鏈路聚合、采用更高層網(wǎng)絡(luò)交換技術(shù)和設(shè)置服務(wù)器集群策略三個角度實現(xiàn)。
■傳輸鏈路聚合
為了支持與日俱增的高帶寬應用,越來越多的PC機使用更加快速的鏈路連入網(wǎng)絡(luò)。而網(wǎng)絡(luò)中的業(yè)務(wù)量分布是不平衡的,核心高、邊緣低,關(guān)鍵部門高、一 般部門低。伴隨計算機處理能力的大幅度提高,人們對多工作組局域網(wǎng)的處理能力有了更高的要求。當企業(yè)內(nèi)部對高帶寬應用需求不斷增大時(例如Web訪問、文 檔傳輸及內(nèi)部網(wǎng)連接),局域網(wǎng)核心部位的數(shù)據(jù)接口將產(chǎn)生瓶頸問題,瓶頸延長了客戶應用請求的響應時間。并且局域網(wǎng)具有分散特性,網(wǎng)絡(luò)本身并沒有針對服務(wù)器 的保護措施,一個無意的動作(像一腳踢掉網(wǎng)線的插頭)就會讓服務(wù)器與網(wǎng)絡(luò)斷開。
通常,解決瓶頸問題采用的對策是提高服務(wù)器鏈路的容量,使其超出目前的需求。例如可以由快速以太網(wǎng)升級到千兆以太網(wǎng)。對于大型企業(yè)來 說,采用升級技術(shù)是一種長遠的、有前景的解決方案。然而對于許多企業(yè),當需求還沒有大到非得花費大量的金錢和時間進行升級時,使用升級技術(shù)就顯得大材小用 了。在這種情況下,鏈路聚合技術(shù)為消除傳輸鏈路上的瓶頸與不安全因素提供了成本低廉的解決方案,
鏈路聚合技術(shù),將多個線路的傳輸容量融合成一個單一的邏輯連接。當原有的線路滿足不了需求,而單一線路的升級又太昂貴或難以實現(xiàn)時,就 要采用多線路的解決方案了。目前有4種鏈路聚合技術(shù)可以將多條線路“捆綁”起來。同步IMUX系統(tǒng)工作在T1/E1的比特層,利用多個同步的DS1信道傳 輸數(shù)據(jù),來實現(xiàn)負載均衡。IMA是另外一種多線路的反向多路復用技術(shù),工作在信元級,能夠運行在使用ATM路由器的平臺上。用路由器來實現(xiàn)多線路是一種流 行的鏈路聚合技術(shù),路由器可以根據(jù)已知的目的地址的緩沖(cache)大小,將分組分配給各個平行的鏈路,也可以采用循環(huán)分配的方法來向線路分發(fā)分組。多 重鏈路PPP,又稱MP或MLP,是應用于使用PPP封裝數(shù)據(jù)鏈路的路由器負載平衡技術(shù)。MP可以將大的PPP數(shù)據(jù)包分解成小的數(shù)據(jù)段,再將其分發(fā)給平行 的多個線路,還可以根據(jù)當前的鏈路利用率來動態(tài)地分配撥號線路。這樣做盡管速度很慢,因為數(shù)據(jù)包分段和附加的緩沖都增加時延,但可以在低速的線路上運行得 很好。
鏈路聚合系統(tǒng)增加了網(wǎng)絡(luò)的復雜性,但也提高了網(wǎng)絡(luò)的可靠性,使人們可以在服務(wù)器等關(guān)鍵LAN段的線路上采用冗余路由。對于IP系統(tǒng),可 以考慮采用VRRP(虛擬路由冗余協(xié)議)。VRRP可以生成一個虛擬缺省的網(wǎng)關(guān)地址,當主路由器無法接通時,備用路由器就會采用這個地址,使LAN通信得 以繼續(xù)。總之,當主要線路的性能必需提高而單條線路的升級又不可行時,可以采用鏈路聚合技術(shù)。
■更高層交換
大型的網(wǎng)絡(luò)一般都是由大量專用技術(shù)設(shè)備組成的,如包括防火墻、路由器、第2層/3層交換機、負載均衡設(shè)備、緩沖服務(wù)器和Web服務(wù)器等。如何將這 些技術(shù)設(shè)備有機地組合在一起,是一個直接影響到網(wǎng)絡(luò)性能的關(guān)鍵性問題。現(xiàn)在許多交換機提供第四層交換功能,可以將一個外部IP地址映射為多個內(nèi)部IP地 址,對每次TCP連接請求動態(tài)使用其中一個內(nèi)部地址,達到負載均衡的目的。有的協(xié)議內(nèi)部支持與負載均衡相關(guān)的功能,例如HTTP協(xié)議中的重定向能力。

Web內(nèi)容交換技術(shù),即URL交換或七層交換技術(shù),提供了一種對訪問流量的高層控制方式。Web內(nèi) 容交換技術(shù)檢查所有的HTTP報頭,根據(jù)報頭內(nèi)的信息來執(zhí)行負載均衡的決策,并可以根據(jù)這些信息來確定如何為個人主頁和圖像數(shù)據(jù)等內(nèi)容提供服務(wù)。它不是根 據(jù)TCP端口號來進行控制的,所以不會造成訪問流量的滯留。如果Web服務(wù)器已經(jīng)為圖像服務(wù)、SSL對話、數(shù)據(jù)庫事務(wù)服務(wù)之類的特殊功能進行了優(yōu)化,那 么,采用這個層次的流量控制將可以提高網(wǎng)絡(luò)的性能。目前,采用第七層交換技術(shù)的產(chǎn)品與方案,有黎明網(wǎng)絡(luò)的iSwitch、交換機,Cisco的CDN(內(nèi) 容交換網(wǎng)絡(luò)系統(tǒng))等。
服務(wù)器群集解決方案
在某些情況下,例如,某網(wǎng)站內(nèi)部職員和外部客戶同時使用網(wǎng)站,而公司要將內(nèi)部職員的服務(wù)請求連接到一個較慢的服務(wù)器來為外部客戶提供更多的資源, 這時就可以使用Web內(nèi)容交換技術(shù)。Web主機訪問控制設(shè)備也可以使用這種技術(shù)來降低硬件成本,因為它可以輕易地將訪問多個主機的用戶流量轉(zhuǎn)移給同一個 Web服務(wù)器。如果用戶訪問量增加到一定程度,這些流量還可以被轉(zhuǎn)移到專用的Web服務(wù)器設(shè)備,雖然這種專用設(shè)備的成本較高,但是由于使用的是相同的 Web內(nèi)容交換技術(shù)來控制流量,所以網(wǎng)絡(luò)的結(jié)構(gòu)框架就不用再進行改變了。
但是,使用Web內(nèi)容交換技術(shù)的負載均衡設(shè)備所能支持的標準和規(guī)則的數(shù)目有限,其采用的標準和規(guī)則的靈活性也有限。另外,負載均衡設(shè)備 所能監(jiān)測到HTTP報頭的深度也是限制內(nèi)容交換能力的一個因素。如果所要找的信息在負載均衡設(shè)備所不能監(jiān)測的字段內(nèi),那內(nèi)容交換的作用就無法發(fā)揮。而且, 內(nèi)容交換還受到能夠同時開啟的TCP連接數(shù)量以及TCP連接的建立和斷開比率的限制。另外,Web內(nèi)容交換技術(shù)還會占用大量的系統(tǒng)資源(包括內(nèi)存占用和處 理器占用)。對Web內(nèi)容交換技術(shù)進行的測試表明,操縱Web內(nèi)容的吞吐量是很費力的,有時只能得到很小的性能改進。所以,網(wǎng)絡(luò)管理員必須認真考慮投入與 回報的問題。
■帶均衡策略的服務(wù)器群集
如今,服務(wù)器必須具備提供大量并發(fā)訪問服務(wù)的能力,其處理能力和I/O能力已經(jīng)成為提供服務(wù)的瓶頸。如果客戶的增多導致通信量超出了服務(wù)器能承受 的范圍,那么其結(jié)果必然是——宕機。顯然,單臺服務(wù)器有限的性能不可能解決這個問題,一臺普通服務(wù)器的處理能力只能達到每秒幾萬個到幾十萬個請求,無法在 一秒鐘內(nèi)處理上百萬個甚至更多的請求。但若能將10臺這樣的服務(wù)器組成一個系統(tǒng),并通過軟件技術(shù)將所有請求平均分配給所有服務(wù)器,那么這個系統(tǒng)就完全擁有 每秒鐘處理幾百萬個甚至更多請求的能力。這就是利用服務(wù)器群集實現(xiàn)負載均衡的最初基本設(shè)計思想。
早期的服務(wù)器群集通常以光纖鏡像卡進行主從方式備份。令服務(wù)運營商頭疼的是關(guān)鍵性服務(wù)器或應用較多、數(shù)據(jù)流量較大的服務(wù)器一般檔次不會 太低,而服務(wù)運營商花了兩臺服務(wù)器的錢卻常常只得到一臺服務(wù)器的性能。新的解決方案見圖,通過LSANT(Load Sharing Network Address Transfer)將多臺服務(wù)器網(wǎng)卡的不同IP地址翻譯成一個VIP(Virtual IP)地址,使得每臺服務(wù)器均時時處于工作狀態(tài)。原來需要用小型機來完成的工作改由多臺PC服務(wù)器完成,這種彈性解決方案對投資保護的作用是相當明顯的 ——既避免了小型機剛性升級所帶來的巨大設(shè)備投資,又避免了人員培訓的重復投資。同時,服務(wù)運營商可以依據(jù)業(yè)務(wù)的需要隨時調(diào)整服務(wù)器的數(shù)量。
網(wǎng)絡(luò)負載均衡提高了諸如Web服務(wù)器、FTP服務(wù)器和其他關(guān)鍵任務(wù)服務(wù)器上的因特網(wǎng)服務(wù)器程序的可用性和可伸縮性。單一計算機可以提供 有限級別的服務(wù)器可靠性和可伸縮性。但是,通過將兩個或兩個以上高級服務(wù)器的主機連成群集,網(wǎng)絡(luò)負載均衡就能夠提供關(guān)鍵任務(wù)服務(wù)器所需的可靠性和性能。
為了建立一個高負載的Web站點,必須使用多服務(wù)器的分布式結(jié)構(gòu)。上面提到的使用代理服務(wù)器和Web服務(wù)器相結(jié)合,或者兩臺Web服務(wù) 器相互協(xié)作的方式也屬于多服務(wù)器的結(jié)構(gòu),但在這些多服務(wù)器的結(jié)構(gòu)中,每臺服務(wù)器所起到的作用是不同的,屬于非對稱的體系結(jié)構(gòu)。非對稱的服務(wù)器結(jié)構(gòu)中每個服 務(wù)器起到的作用是不同的,例如一臺服務(wù)器用于提供靜態(tài)網(wǎng)頁,而另一臺用于提供動態(tài)網(wǎng)頁等等。這樣就使得網(wǎng)頁設(shè)計時就需要考慮不同服務(wù)器之間的關(guān)系,一旦要 改變服務(wù)器之間的關(guān)系,就會使得某些網(wǎng)頁出現(xiàn)連接錯誤,不利于維護,可擴展性也較差。
能進行負載均衡的網(wǎng)絡(luò)設(shè)計結(jié)構(gòu)為對稱結(jié)構(gòu),在對稱結(jié)構(gòu)中每臺服務(wù)器都具備等價的地位,都可以單獨對外提供服務(wù)而無須其他服務(wù)器的輔助。 然后,可以通過某種技術(shù),將外部發(fā)送來的請求均勻分配到對稱結(jié)構(gòu)中的每臺服務(wù)器上,接收到連接請求的服務(wù)器都獨立回應客戶的請求。在這種結(jié)構(gòu)中,由于建立 內(nèi)容完全一致的Web服務(wù)器并不困難,因此負載均衡技術(shù)就成為建立一個高負載Web站點的關(guān)鍵性技術(shù)。
總之,負載均衡是一種策略,它能讓多臺服務(wù)器或多條鏈路共同承擔一些繁重的計算或I/O任務(wù),從而以較低成本消除網(wǎng)絡(luò)瓶頸,提高網(wǎng)絡(luò)的靈活性和可靠性