Web服務(wù)器負載均衡定義和作用及類型
一、負載均衡的定義
負載均衡是由多臺服務(wù)器以對稱的方式組成一個服務(wù)器集合,每臺服務(wù)器都具有等價的地位,都可以單獨對外提供服務(wù)而無須其他服務(wù)器的輔助。通過某種負載分擔技術(shù),將外部發(fā)送來的請求均勻分配到對稱結(jié)構(gòu)中的某一臺服務(wù)器上,而接收到請求的服務(wù)器獨立地回應(yīng)客戶的請求。
二、負載均衡的作用
如果你發(fā)現(xiàn)你的Web站點負載量非常大時,應(yīng)當考慮使用負載均衡技術(shù)來將負載平均分攤到多個內(nèi)部服務(wù)器上。如果有多個服務(wù)器同時執(zhí)行某一個任務(wù)時,這些服務(wù)器就構(gòu)成一個集群(clustering)。使用集群技術(shù)可以用最少的投資獲得接近于大型主機的性能。
三、類型
目前比較常用的負載均衡技術(shù)主要有:
1. 基于DNS的負載均衡
通過DNS服務(wù)中的隨機名字解析來實現(xiàn)負載均衡,在DNS服務(wù)器中,可以為多個不同的地址配置同一個名字,而最終查詢這個名字的客戶機將在解析這個名字時得到其中一個地址。因此,對于同一個名字,不同的客戶機會得到不同的地址,他們也就訪問不同地址上的Web服務(wù)器,從而達到負載均衡的目的。
2. 反向代理負載均衡
使用代理服務(wù)器可以將請求轉(zhuǎn)發(fā)給內(nèi)部的Web服務(wù)器,讓代理服務(wù)器將請求均勻地轉(zhuǎn)發(fā)給多臺內(nèi)部Web服務(wù)器之一上,從而達到負載均衡的目的。這種代理方式與普通的代理方式有所不同,標準代理方式是客戶使用代理訪問多個外部Web服務(wù)器,而這種代理方式是多個客戶使用它訪問內(nèi)部Web服務(wù)器,因此也被稱為反向代理模式。Apusic負載均衡器就屬于這種類型的。
3. 基于NAT的負載均衡技術(shù)
網(wǎng)絡(luò)地址轉(zhuǎn)換為在內(nèi)部地址和外部地址之間進行轉(zhuǎn)換,以便具備內(nèi)部地址的計算機能訪問外部網(wǎng)絡(luò),而當外部網(wǎng)絡(luò)中的計算機訪問地址轉(zhuǎn)換網(wǎng)關(guān)擁有的某一外部地址時,地址轉(zhuǎn)換網(wǎng)關(guān)能將其轉(zhuǎn)發(fā)到一個映射的內(nèi)部地址上。因此如果地址轉(zhuǎn)換網(wǎng)關(guān)能將每個連接均勻轉(zhuǎn)換為不同的內(nèi)部服務(wù)器地址,此后外部網(wǎng)絡(luò)中的計算機就各自與自己轉(zhuǎn)換得到的地址上服務(wù)器進行通信,從而達到負載分擔的目的。
負載均衡服務(wù)器的好處
由于網(wǎng)民數(shù)量激增,網(wǎng)絡(luò)訪問路徑過長,用戶的訪問質(zhì)量容易受到嚴重影響,尤其是當用戶與網(wǎng)站之間的鏈路被突如其來的流量擁塞時。而這種情況經(jīng)常發(fā)生在異地互聯(lián)網(wǎng)用戶急速增加的應(yīng)用上。這時候,如果在服務(wù)端應(yīng)用負載均衡(GSLB)技術(shù),就可以合理分擔系統(tǒng)負載、提高系統(tǒng)可靠性、支持網(wǎng)站內(nèi)容的虛擬化。在實際應(yīng)用中,許多IDC,如互聯(lián)通更是采用GSLB與Cache、Mirror相結(jié)合的方法來提供網(wǎng)絡(luò)加速服務(wù)。負載均衡服務(wù)具有如下特點:
高智能化
運用虛擬IP(VIP)地址代表目標服務(wù)器和應(yīng)用,將會話分配到最高可用性的服務(wù)器,全程監(jiān)控每個會話,服務(wù)恢復(fù)后自動重新登記,并轉(zhuǎn)發(fā)客戶機和服務(wù)器信息包時提供全地址轉(zhuǎn)換。簡單有效的負載均衡算法可以配置包括循環(huán)法、最少連接法、散列法或最少失誤法等多種不同的負載均衡方法,也可以對個別服務(wù)器配置最大連接數(shù)量閾值和加權(quán)值,以避免服務(wù)器超載。
高可靠性
架構(gòu)在專用的高速骨干網(wǎng)之上,該主干網(wǎng)絡(luò)提供延遲極小的網(wǎng)絡(luò)連通性,從而保障GSLB的功能正常發(fā)揮和高性能,遠遠優(yōu)于基于公網(wǎng)的GSLB。并且,當主站點機房的?Internet 出口出現(xiàn)故障時,還能將用戶自動、透明地從其他分站點Internet入口導(dǎo)向主站點服務(wù)器。
高可用性
采用熱備份方法,在極短時間內(nèi)對服務(wù)器鏈路、交換端口和交換機進行檢測和故障轉(zhuǎn)移,使應(yīng)用免受故障影響;任何一個服務(wù)器或服務(wù)器群發(fā)生故障或阻塞,用戶將被自動引導(dǎo)到下一個最佳備份服務(wù)器或站點,從而更進一步提高了服務(wù)和內(nèi)容的可用性。
#p#
服務(wù)器負載均衡
網(wǎng)絡(luò)的負載均衡是一種動態(tài)均衡技術(shù),通過一些工具實時地分析數(shù)據(jù)包,掌握網(wǎng)絡(luò)中的數(shù)據(jù)流量狀況,把任務(wù)合理均衡地分配出去。
計算集中型的應(yīng)用,比如電子商務(wù)網(wǎng)站,服務(wù)器計算負荷會很大;讀寫頻繁的應(yīng)用,比如網(wǎng)絡(luò)數(shù)據(jù)庫,存儲系統(tǒng)則面臨著考驗;傳輸量大的應(yīng)用,比如視頻服務(wù),數(shù)據(jù)總是無法快速傳送,無法實現(xiàn)最好的效果;訪問量大的應(yīng)用,路由器與防火墻容易成為瓶頸。想要合理解決這些問題,升級設(shè)備、改變拓撲是"笨辦法",相對巧妙的方法是采用負載均衡技術(shù),用多個設(shè)備共同完成任務(wù)。
負載均衡技術(shù)基于現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu),提供了一種擴展服務(wù)器帶寬和增加服務(wù)器吞吐量的廉價有效的方法,加強了網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高了網(wǎng)絡(luò)的靈活性和可用性。負載均衡的應(yīng)用,能夠有效地解決網(wǎng)絡(luò)擁塞問題,能夠就近提供服務(wù),實現(xiàn)地理位置無關(guān)性(異地負載均衡)。同時,這項技術(shù)還能提高服務(wù)器的響應(yīng)速度,提高服務(wù)器及其他資源的利用效率,避免網(wǎng)絡(luò)關(guān)鍵部位出現(xiàn)單點失效,從而為用戶提供更好的訪問質(zhì)量。
隨著網(wǎng)絡(luò)應(yīng)用的不斷升溫,不少網(wǎng)絡(luò)服務(wù)商也推出了負載均衡服務(wù)。如專業(yè)的網(wǎng)絡(luò)服務(wù)提供商Unihub公司的服務(wù),就是針對目前網(wǎng)絡(luò)應(yīng)用的狀況而推出的提高網(wǎng)絡(luò)處理速度、減少因個別服務(wù)器出現(xiàn)故障而影響用戶訪問的解決方案。
Unihub 的服務(wù)器負載均衡根據(jù)一定策略,能實時監(jiān)控服務(wù)器的健康狀況和負載情況,把用戶請求轉(zhuǎn)發(fā)給狀態(tài)健康且負載最輕的服務(wù)器。服務(wù)器負載均衡應(yīng)用于本地服務(wù)器系統(tǒng)時能夠有效地利用多臺服務(wù)器共同工作來提高服務(wù)系統(tǒng)的能力,也可以按照客戶系統(tǒng)的業(yè)務(wù)特性及實際運行的情況提供靈活多變的設(shè)計。比如,電子商務(wù)網(wǎng)站可以指定一臺服務(wù)器用于滿足要進行交易的訪問需求,只有在交易量很小時才和另一臺服務(wù)器共同為普通的訪問查詢請求服務(wù),從而避免了過多的非重要數(shù)據(jù)流量影響重要的電子商務(wù)進程。
服務(wù)器必須具備處理大量并發(fā)訪問服務(wù)的能力,其處理能力和I/O(輸入/輸出)能力已經(jīng)成為提供服務(wù)質(zhì)量好壞的重要因素。負載均衡作為一種策略,能夠讓多臺服務(wù)器或多條鏈路共同承擔繁重的計算或I/O任務(wù),從而以較低成本消除網(wǎng)絡(luò)瓶頸,提高網(wǎng)絡(luò)的靈活性和可靠性。
在業(yè)務(wù)量不斷增長,需要提高服務(wù)能力時,使用服務(wù)器負載均衡技術(shù),只需在智能化交換機上接上新的服務(wù)器,就可以與原有的服務(wù)器共同構(gòu)成更大容量的服務(wù)系統(tǒng)。這樣,既可以保證在擴容時服務(wù)不中斷,又有效地保障了原有的投資。
如何解決負載平衡問題
一、問題的提出
隨著Internet和Intranet的高速發(fā)展,基于IP的應(yīng)用越來越成為網(wǎng)絡(luò)最普遍,最有用和甚至是必不可少的部分。許多知名的站點和ISP常常要在短時間內(nèi)接受大量的訪問而力不從心。這給網(wǎng)絡(luò)的升級維護帶來了一些問題:
1. 如果采用單一的服務(wù)器提供服務(wù),很明顯,存在著單點脆弱性(Single Point of Failure)。這臺服務(wù)器任何部件稍有閃失,都會給服務(wù)帶來問題;同時這也是昂貴的、難以擴展的方案:服務(wù)器的能力需要不斷的提高,擴充內(nèi)存,升級 CPU,增加硬盤…在系統(tǒng)維護和升級的期間,服務(wù)被迫中斷;而且這種升級也有極限,總有一天,無論如何調(diào)整服務(wù)器的性能都無法滿足用戶的要求。
2. 如果采用服務(wù)器群,主要的缺點在于訪問地址的復(fù)雜化和負載不平衡。對于每臺服務(wù)器都必須有相應(yīng)的唯一的IP地址,給用戶的訪問和網(wǎng)絡(luò)管理帶來不便;這些服務(wù)器之間的流量分配是隨機的,不會考慮服務(wù)器當前的負載情況,在某些情形之下反而造成連接失敗。
二、目前典型的方法
1. 使用Round-Robin DNS,將服務(wù)請求分布到不同的服務(wù)器上。此種方法運行在應(yīng)用層,由于簡單地將域名請求分布,并不了解正在運行的服務(wù)負載及網(wǎng)絡(luò)鏈路,因此,并不能提供真正的負載平衡。Internet上最著名的負載分配方法叫 Round-Robin DNS。 Round-Robin DNS運行在域名服務(wù)器上,是用來向每一臺服務(wù)器乃至每一個進程分配用戶申請的軟件,它可以讓你配置一份 IP地址名單,然后,就可以通過域名服務(wù)器 (DNS)把申請有序地分配到機器、或以不同數(shù)字代表的進程之上。然而, Round-RobinDNS被普遍公認為一種并非完美的解決方案。因為,它無法反映出不同的機器可能擁有不同的能力 (盡管在非常有限的程度上,可通過對能力更強的機器使用多個別名來進行粗略的能力估價);它不可能作為因數(shù)記入負載水平;而且它也無法檢測并避開那些已經(jīng)癱瘓了的服務(wù)器。
2 使用對應(yīng)用或網(wǎng)絡(luò)敏感的DNS服務(wù),此種方案相對第一種方案提供了更好的特征,但由于DNS的Cache機制,客戶仍然不能得到真正的負載平衡。
3 使用雙機備份的大型服務(wù)器系統(tǒng)是當前許多ICP/ISP的升級選擇。但是此種方案并不能避免網(wǎng)絡(luò)上的單點故障,而且其中的一臺服務(wù)器在一般情況下處于休眠狀態(tài),增加了系統(tǒng)成本和管理成本。
4 使用網(wǎng)絡(luò)層(IP)的網(wǎng)絡(luò)流量分配設(shè)備(Director)。此種方法支持真正的負載平衡,并且提供服務(wù)的系統(tǒng)可通過網(wǎng)絡(luò)連接,分布在不同的地區(qū)。但是,不同的解決方案提供的特性區(qū)別較大,如是否支持分布的網(wǎng)絡(luò)冗余、管理是否方便等。
三、IP負載平衡方案
通過IP負載平衡產(chǎn)品,分配網(wǎng)絡(luò)訪問流量,協(xié)同一組服務(wù)器共同工作,對用戶提供完全透明的訪問通道,使高性能、高承受力且只有一個簡單的訪問地址的站點成為可能。
IP負載平衡機制給多服務(wù)器環(huán)境帶來了兩個主要的好處:
1 系統(tǒng)可擴縮性(Scalable)
由于Web站點和服務(wù)器群擁有越來越多的用戶,硬件的升級越來越頻繁,這無疑是一件令人乏味和很不經(jīng)濟的事情。系統(tǒng)在安裝了負載平衡產(chǎn)品之后,負載平衡器可以讓一簇相同或不同的服務(wù)器共同來完成一臺超級服務(wù)器的工作,給系統(tǒng)提供了無限的升級能力,減少了系統(tǒng)升級的開銷。負載平衡器介于服務(wù)器和用戶端之間,扮演了一個智能的指揮者角色。根據(jù)當前各個服務(wù)器的工作狀態(tài)和能力來分配服務(wù)器負載,使整個系統(tǒng)能更高效的響應(yīng)用戶的請求。
2 系統(tǒng)的容錯性(Fault Tolerance)
"不間斷服務(wù)"、"24x7服務(wù)"(no down time)的概念越來越受業(yè)界人士重視。IP負載平衡器實時監(jiān)視各個服務(wù)器的工作狀態(tài),不分配任務(wù)給那些力不從心的服務(wù)器,這種有彈性的負載分配方式充分利用了每臺服務(wù)器,使用戶能得到流暢、連續(xù)的透明的服務(wù)。這也正是在線服務(wù)的最終目標。



















