版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Internet的規(guī)模每一百天就會(huì)增長(zhǎng)一倍,客戶希望獲得7天24小時(shí)的不間斷可用性及較快的系統(tǒng)反應(yīng)時(shí)間,而不愿屢次看到某個(gè)站點(diǎn)“Server Too Busy”及頻繁的系統(tǒng)故障。網(wǎng)絡(luò)的各個(gè)核心部分隨著業(yè)務(wù)量的提高、訪問(wèn)量和數(shù)據(jù)流量的快速增長(zhǎng),其處理能力和計(jì)算強(qiáng)度也相應(yīng)增大,使得單一設(shè)備根本無(wú)法承擔(dān)。在此情況下,如果扔掉現(xiàn)有設(shè)備去做大量的硬件升級(jí),這樣將造成現(xiàn)有資源的浪費(fèi),而且如果再面臨下一次業(yè)務(wù)量的提升,這又將導(dǎo)致再一次硬件升級(jí)的高額成本投入,甚至性能再卓越的設(shè)備也不能滿足當(dāng)前業(yè)務(wù)量的需求。于是,負(fù)載均衡機(jī)制應(yīng)運(yùn)而生。負(fù)載均衡(Load Balance)建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價(jià)
2、有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。負(fù)載均衡有兩方面的含義:首先,大量的并發(fā)訪問(wèn)或數(shù)據(jù)流量分擔(dān)到多臺(tái)節(jié)點(diǎn)設(shè)備上分別處理,減少用戶等待響應(yīng)的時(shí)間;其次,單個(gè)重負(fù)載的運(yùn)算分擔(dān)到多臺(tái)節(jié)點(diǎn)設(shè)備上做并行處理,每個(gè)節(jié)點(diǎn)設(shè)備處理結(jié)束后,將結(jié)果匯總,返回給用戶,系統(tǒng)處理能力得到大幅度提高。本文所要介紹的負(fù)載均衡技術(shù)主要是指在均衡服務(wù)器群中所有服務(wù)器和應(yīng)用程序之間流量負(fù)載的應(yīng)用,目前負(fù)載均衡技術(shù)大多數(shù)是用于提高諸如在Web服務(wù)器、FTP服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器上的Internet服務(wù)器程序的可用性和可伸縮性。 負(fù)載均衡技術(shù)分類目前有許多不同的負(fù)
3、載均衡技術(shù)用以滿足不同的應(yīng)用需求,下面從負(fù)載均衡所采用的設(shè)備對(duì)象、應(yīng)用的網(wǎng)絡(luò)層次(指OSI參考模型)及應(yīng)用的地理結(jié)構(gòu)等來(lái)分類。軟/硬件負(fù)載均衡 軟件負(fù)載均衡解決方案是指在一臺(tái)或多臺(tái)服務(wù)器相應(yīng)的操作系統(tǒng)上安裝一個(gè)或多個(gè)附加軟件來(lái)實(shí)現(xiàn)負(fù)載均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的優(yōu)點(diǎn)是基于特定環(huán)境,配置簡(jiǎn)單,使用靈活,成本低廉,可以滿足一般的負(fù)載均衡需求。軟件解決方案缺點(diǎn)也較多,因?yàn)槊颗_(tái)服務(wù)器上安裝額外的軟件運(yùn)行會(huì)消耗系統(tǒng)不定量的資源,越是功能強(qiáng)大的模塊,消耗得越多,所以當(dāng)連接請(qǐng)求特別大的時(shí)候,軟件本身會(huì)成為服務(wù)器工作
4、成敗的一個(gè)關(guān)鍵;軟件可擴(kuò)展性并不是很好,受到操作系統(tǒng)的限制;由于操作系統(tǒng)本身的Bug,往往會(huì)引起安全問(wèn)題。硬件負(fù)載均衡解決方案是直接在服務(wù)器和外部網(wǎng)絡(luò)間安裝負(fù)載均衡設(shè)備,這種設(shè)備我們通常稱之為負(fù)載均衡器,由于專門的設(shè)備完成專門的任務(wù),獨(dú)立于操作系統(tǒng),整體性能得到大量提高,加上多樣化的負(fù)載均衡策略,智能化的流量管理,可達(dá)到最佳的負(fù)載均衡需求。負(fù)載均衡器有多種多樣的形式,除了作為獨(dú)立意義上的負(fù)載均衡器外,有些負(fù)載均衡器集成在交換設(shè)備中,置于服務(wù)器與Internet鏈接之間,有些則以兩塊網(wǎng)絡(luò)適配器將這一功能集成到PC中,一塊連接到Internet上,一塊連接到后端服務(wù)器群的內(nèi)部網(wǎng)絡(luò)上。一般而言,硬件
5、負(fù)載均衡在功能、性能上優(yōu)于軟件方式,不過(guò)成本昂貴。 本地/全局負(fù)載均衡負(fù)載均衡從其應(yīng)用的地理結(jié)構(gòu)上分為本地負(fù)載均衡(Local Load Balance)和全局負(fù)載均衡(Global Load Balance,也叫地域負(fù)載均衡),本地負(fù)載均衡是指對(duì)本地的服務(wù)器群做負(fù)載均衡,全局負(fù)載均衡是指對(duì)分別放置在不同的地理位置、有不同網(wǎng)絡(luò)結(jié)構(gòu)的服務(wù)器群間作負(fù)載均衡。本地負(fù)載均衡能有效地解決數(shù)據(jù)流量過(guò)大、網(wǎng)絡(luò)負(fù)荷過(guò)重的問(wèn)題,并且不需花費(fèi)昂貴開支購(gòu)置性能卓越的服務(wù)器,充分利用現(xiàn)有設(shè)備,避免服務(wù)器單點(diǎn)故障造成數(shù)據(jù)流量的損失。其有靈活多樣的均衡策略把數(shù)據(jù)流量合理地分配給服務(wù)器群內(nèi)的服務(wù)器共同負(fù)擔(dān)。即使是再給現(xiàn)有服
6、務(wù)器擴(kuò)充升級(jí),也只是簡(jiǎn)單地增加一個(gè)新的服務(wù)器到服務(wù)群中,而不需改變現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)、停止現(xiàn)有的服務(wù)。全局負(fù)載均衡主要用于在一個(gè)多區(qū)域擁有自己服務(wù)器的站點(diǎn),為了使全球用戶只以一個(gè)IP地址或域名就能訪問(wèn)到離自己最近的服務(wù)器,從而獲得最快的訪問(wèn)速度,也可用于子公司分散站點(diǎn)分布廣的大公司通過(guò)Intranet(企業(yè)內(nèi)部互聯(lián)網(wǎng))來(lái)達(dá)到資源統(tǒng)一合理分配的目的。全局負(fù)載均衡有以下的特點(diǎn): 1. 實(shí)現(xiàn)地理位置無(wú)關(guān)性,能夠遠(yuǎn)距離為用戶提供完全的透明服務(wù)。 2. 除了能避免服務(wù)器、數(shù)據(jù)中心等的單點(diǎn)失效,也能避免由于ISP專線故障引起的單點(diǎn)失效。 3. 解決網(wǎng)絡(luò)擁塞問(wèn)題,提高服務(wù)器響應(yīng)速度,服務(wù)就近提供,達(dá)到更好的訪問(wèn)質(zhì)
7、量。 網(wǎng)絡(luò)層次上的負(fù)載均衡針對(duì)網(wǎng)絡(luò)上負(fù)載過(guò)重的不同瓶頸所在,從網(wǎng)絡(luò)的不同層次入手,我們可以采用相應(yīng)的負(fù)載均衡技術(shù)來(lái)解決現(xiàn)有問(wèn)題。隨著帶寬增加,數(shù)據(jù)流量不斷增大,網(wǎng)絡(luò)核心部分的數(shù)據(jù)接口將面臨瓶頸問(wèn)題,原有的單一線路將很難滿足需求,而且線路的升級(jí)又過(guò)于昂貴甚至難以實(shí)現(xiàn),這時(shí)就可以考慮采用鏈路聚合(Trunking)技術(shù)。鏈路聚合技術(shù)(第二層負(fù)載均衡)將多條物理鏈路當(dāng)作一條單一的聚合邏輯鏈路使用,網(wǎng)絡(luò)數(shù)據(jù)流量由聚合邏輯鏈路中所有物理鏈路共同承擔(dān),由此在邏輯上增大了鏈路的容量,使其能滿足帶寬增加的需求?,F(xiàn)代負(fù)載均衡技術(shù)通常操作于網(wǎng)絡(luò)的第四層或第七層。第四層負(fù)載均衡將一個(gè)Internet上合法注冊(cè)的IP
8、地址映射為多個(gè)內(nèi)部服務(wù)器的IP地址,對(duì)每次TCP連接請(qǐng)求動(dòng)態(tài)使用其中一個(gè)內(nèi)部IP地址,達(dá)到負(fù)載均衡的目的。在第四層交換機(jī)中,此種均衡技術(shù)得到廣泛的應(yīng)用,一個(gè)目標(biāo)地址是服務(wù)器群VIP(虛擬IP,Virtual IP address)連接請(qǐng)求的數(shù)據(jù)包流經(jīng)交換機(jī),交換機(jī)根據(jù)源端和目的IP地址、TCP或UDP端口號(hào)和一定的負(fù)載均衡策略,在服務(wù)器IP和VIP間進(jìn)行映射,選取服務(wù)器群中最好的服務(wù)器來(lái)處理連接請(qǐng)求。第七層負(fù)載均衡控制應(yīng)用層服務(wù)的內(nèi)容,提供了一種對(duì)訪問(wèn)流量的高層控制方式,適合對(duì)HTTP服務(wù)器群的應(yīng)用。第七層負(fù)載均衡技術(shù)通過(guò)檢查流經(jīng)的HTTP報(bào)頭,根據(jù)報(bào)頭內(nèi)的信息來(lái)執(zhí)行負(fù)載均衡任務(wù)。第七層負(fù)載均
9、衡優(yōu)點(diǎn)表現(xiàn)在如下幾個(gè)方面: 1. 通過(guò)對(duì)HTTP報(bào)頭的檢查,可以檢測(cè)出HTTP400、500和600系列的錯(cuò)誤信息,因而能透明地將連接請(qǐng)求重新定向到另一臺(tái)服務(wù)器,避免應(yīng)用層故障。 2. 可根據(jù)流經(jīng)的數(shù)據(jù)類型(如判斷數(shù)據(jù)包是圖像文件、壓縮文件或多媒體文件格式等),把數(shù)據(jù)流量引向相應(yīng)內(nèi)容的服務(wù)器來(lái)處理,增加系統(tǒng)性能。 3. 能根據(jù)連接請(qǐng)求的類型,如是普通文本、圖象等靜態(tài)文檔請(qǐng)求,還是asp、cgi等的動(dòng)態(tài)文檔請(qǐng)求,把相應(yīng)的請(qǐng)求引向相應(yīng)的服務(wù)器來(lái)處理,提高系統(tǒng)的性能及安全性。 第七層負(fù)載均衡受到其所支持的協(xié)議限制(一般只有HTTP),這樣就限制了它應(yīng)用的廣泛性,并且檢查HTTP報(bào)頭會(huì)占用大量的系統(tǒng)資
10、源,勢(shì)必會(huì)影響到系統(tǒng)的性能,在大量連接請(qǐng)求的情況下,負(fù)載均衡設(shè)備自身容易成為網(wǎng)絡(luò)整體性能的瓶頸負(fù)載均衡策略 在實(shí)際應(yīng)用中,我們可能不想僅僅是把客戶端的服務(wù)請(qǐng)求平均地分配給內(nèi)部服務(wù)器,而不管服務(wù)器是否宕機(jī)。而是想使Pentium III服務(wù)器比Pentium II能接受更多的服務(wù)請(qǐng)求,一臺(tái)處理服務(wù)請(qǐng)求較少的服務(wù)器能分配到更多的服務(wù)請(qǐng)求,出現(xiàn)故障的服務(wù)器將不再接受服務(wù)請(qǐng)求直至故障恢復(fù)等等。選擇合適的負(fù)載均衡策略,使多個(gè)設(shè)備能很好的共同完成任務(wù),消除或避免現(xiàn)有網(wǎng)絡(luò)負(fù)載分布不均、數(shù)據(jù)流量擁擠反應(yīng)時(shí)間長(zhǎng)的瓶頸。在各負(fù)載均衡方式中,針對(duì)不同的應(yīng)用需求,在OSI參考模型的第二、三、四、七層的負(fù)載均衡都有相應(yīng)
11、的負(fù)載均衡策略。 負(fù)載均衡策略的優(yōu)劣及其實(shí)現(xiàn)的難易程度有兩個(gè)關(guān)鍵因素:一、負(fù)載均衡算法,二、對(duì)網(wǎng)絡(luò)系統(tǒng)狀況的檢測(cè)方式和能力??紤]到服務(wù)請(qǐng)求的不同類型、服務(wù)器的不同處理能力以及隨機(jī)選擇造成的負(fù)載分配不均勻等問(wèn)題,為了更加合理的把負(fù)載分配給內(nèi)部的多個(gè)服務(wù)器,就需要應(yīng)用相應(yīng)的能夠正確反映各個(gè)服務(wù)器處理能力及網(wǎng)絡(luò)狀態(tài)的負(fù)載均衡算法:1. 輪循均衡(Round Robin):每一次來(lái)自網(wǎng)絡(luò)的請(qǐng)求輪流分配給內(nèi)部中的服務(wù)器,從1至N然后重新開始。此種均衡算法適合于服務(wù)器組中的所有服務(wù)器都有相同的軟硬件配置并且平均服務(wù)請(qǐng)求相對(duì)均衡的情況。 2. 權(quán)重輪循均衡(Weighted Round Robin):根據(jù)服
12、務(wù)器的不同處理能力,給每個(gè)服務(wù)器分配不同的權(quán)值,使其能夠接受相應(yīng)權(quán)值數(shù)的服務(wù)請(qǐng)求。例如:服務(wù)器A的權(quán)值被設(shè)計(jì)成1,B的權(quán)值是3,C的權(quán)值是6,則服務(wù)器A、B、C將分別接受到10%、30、60的服務(wù)請(qǐng)求。此種均衡算法能確保高性能的服務(wù)器得到更多的使用率,避免低性能的服務(wù)器負(fù)載過(guò)重。 3. 隨機(jī)均衡(Random):把來(lái)自網(wǎng)絡(luò)的請(qǐng)求隨機(jī)分配給內(nèi)部中的多個(gè)服務(wù)器。 4. 權(quán)重隨機(jī)均衡(Weighted Random):此種均衡算法類似于權(quán)重輪循算法,不過(guò)在處理請(qǐng)求分擔(dān)時(shí)是個(gè)隨機(jī)選擇的過(guò)程。 5. 響應(yīng)速度均衡(Response Time):負(fù)載均衡設(shè)備對(duì)內(nèi)部各服務(wù)器發(fā)出一個(gè)探測(cè)請(qǐng)求(例如Ping),
13、然后根據(jù)內(nèi)部中各服務(wù)器對(duì)探測(cè)請(qǐng)求的最快響應(yīng)時(shí)間來(lái)決定哪一臺(tái)服務(wù)器來(lái)響應(yīng)客戶端的服務(wù)請(qǐng)求。此種均衡算法能較好的反映服務(wù)器的當(dāng)前運(yùn)行狀態(tài),但這最快響應(yīng)時(shí)間僅僅指的是負(fù)載均衡設(shè)備與服務(wù)器間的最快響應(yīng)時(shí)間,而不是客戶端與服務(wù)器間的最快響應(yīng)時(shí)間。6. 最少連接數(shù)均衡(Least Connection):客戶端的每一次請(qǐng)求服務(wù)在服務(wù)器停留的時(shí)間可能會(huì)有較大的差異,隨著工作時(shí)間加長(zhǎng),如果采用簡(jiǎn)單的輪循或隨機(jī)均衡算法,每一臺(tái)服務(wù)器上的連接進(jìn)程可能會(huì)產(chǎn)生極大的不同,并沒(méi)有達(dá)到真正的負(fù)載均衡。最少連接數(shù)均衡算法對(duì)內(nèi)部中需負(fù)載的每一臺(tái)服務(wù)器都有一個(gè)數(shù)據(jù)記錄,記錄當(dāng)前該服務(wù)器正在處理的連接數(shù)量,當(dāng)有新的服務(wù)連接請(qǐng)求時(shí)
14、,將把當(dāng)前請(qǐng)求分配給連接數(shù)最少的服務(wù)器,使均衡更加符合實(shí)際情況,負(fù)載更加均衡。此種均衡算法適合長(zhǎng)時(shí)處理的請(qǐng)求服務(wù),如FTP。7. 處理能力均衡:此種均衡算法將把服務(wù)請(qǐng)求分配給內(nèi)部中處理負(fù)荷(根據(jù)服務(wù)器CPU型號(hào)、CPU數(shù)量、內(nèi)存大小及當(dāng)前連接數(shù)等換算而成)最輕的服務(wù)器,由于考慮到了內(nèi)部服務(wù)器的處理能力及當(dāng)前網(wǎng)絡(luò)運(yùn)行狀況,所以此種均衡算法相對(duì)來(lái)說(shuō)更加精確,尤其適合運(yùn)用到第七層(應(yīng)用層)負(fù)載均衡的情況下。 8. DNS響應(yīng)均衡(Flash DNS):在Internet上,無(wú)論是HTTP、FTP或是其它的服務(wù)請(qǐng)求,客戶端一般都是通過(guò)域名解析來(lái)找到服務(wù)器確切的IP地址的。在此均衡算法下,分處在不同地理
15、位置的負(fù)載均衡設(shè)備收到同一個(gè)客戶端的域名解析請(qǐng)求,并在同一時(shí)間內(nèi)把此域名解析成各自相對(duì)應(yīng)服務(wù)器的IP地址(即與此負(fù)載均衡設(shè)備在同一位地理位置的服務(wù)器的IP地址)并返回給客戶端,則客戶端將以最先收到的域名解析IP地址來(lái)繼續(xù)請(qǐng)求服務(wù),而忽略其它的IP地址響應(yīng)。在種均衡策略適合應(yīng)用在全局負(fù)載均衡的情況下,對(duì)本地負(fù)載均衡是沒(méi)有意義的。 盡管有多種的負(fù)載均衡算法可以較好的把數(shù)據(jù)流量分配給服務(wù)器去負(fù)載,但如果負(fù)載均衡策略沒(méi)有對(duì)網(wǎng)絡(luò)系統(tǒng)狀況的檢測(cè)方式和能力,一旦在某臺(tái)服務(wù)器或某段負(fù)載均衡設(shè)備與服務(wù)器網(wǎng)絡(luò)間出現(xiàn)故障的情況下,負(fù)載均衡設(shè)備依然把一部分?jǐn)?shù)據(jù)流量引向那臺(tái)服務(wù)器,這勢(shì)必造成大量的服務(wù)請(qǐng)求被丟失,達(dá)不到
16、不間斷可用性的要求。所以良好的負(fù)載均衡策略應(yīng)有對(duì)網(wǎng)絡(luò)故障、服務(wù)器系統(tǒng)故障、應(yīng)用服務(wù)故障的檢測(cè)方式和能力:1. Ping偵測(cè):通過(guò)ping的方式檢測(cè)服務(wù)器及網(wǎng)絡(luò)系統(tǒng)狀況,此種方式簡(jiǎn)單快速,但只能大致檢測(cè)出網(wǎng)絡(luò)及服務(wù)器上的操作系統(tǒng)是否正常,對(duì)服務(wù)器上的應(yīng)用服務(wù)檢測(cè)就無(wú)能為力了。 2. TCP Open偵測(cè):每個(gè)服務(wù)都會(huì)開放某個(gè)通過(guò)TCP連接,檢測(cè)服務(wù)器上某個(gè)TCP端口(如Telnet的23口,HTTP的80口等)是否開放來(lái)判斷服務(wù)是否正常。 3. HTTP URL偵測(cè):比如向HTTP服務(wù)器發(fā)出一個(gè)對(duì)main.html文件的訪問(wèn)請(qǐng)求,如果收到錯(cuò)誤信息,則認(rèn)為服務(wù)器出現(xiàn)故障。 負(fù)載均衡策略的優(yōu)劣除受上
17、面所講的兩個(gè)因素影響外,在有些應(yīng)用情況下,我們需要將來(lái)自同一客戶端的所有請(qǐng)求都分配給同一臺(tái)服務(wù)器去負(fù)擔(dān),例如服務(wù)器將客戶端注冊(cè)、購(gòu)物等服務(wù)請(qǐng)求信息保存的本地?cái)?shù)據(jù)庫(kù)的情況下,把客戶端的子請(qǐng)求分配給同一臺(tái)服務(wù)器來(lái)處理就顯的至關(guān)重要了。有兩種方式可以解決此問(wèn)題,一是根據(jù)IP地址把來(lái)自同一客戶端的多次請(qǐng)求分配給同一臺(tái)服務(wù)器處理,客戶端IP地址與服務(wù)器的對(duì)應(yīng)信息是保存在負(fù)載均衡設(shè)備上的;二是在客戶端瀏覽器cookie內(nèi)做獨(dú)一無(wú)二的標(biāo)識(shí)來(lái)把多次請(qǐng)求分配給同一臺(tái)服務(wù)器處理,適合通過(guò)代理服務(wù)器上網(wǎng)的客戶端。還有一種路徑外返回模式(Out of Path Return),當(dāng)客戶端連接請(qǐng)求發(fā)送給負(fù)載均衡設(shè)備的時(shí)候
18、,中心負(fù)載均衡設(shè)備將請(qǐng)求引向某個(gè)服務(wù)器,服務(wù)器的回應(yīng)請(qǐng)求不再返回給中心負(fù)載均衡設(shè)備,即繞過(guò)流量分配器,直接返回給客戶端,因此中心負(fù)載均衡設(shè)備只負(fù)責(zé)接受并轉(zhuǎn)發(fā)請(qǐng)求,其網(wǎng)絡(luò)負(fù)擔(dān)就減少了很多,并且給客戶端提供了更快的響應(yīng)時(shí)間。此種模式一般用于HTTP服務(wù)器群,在各服務(wù)器上要安裝一塊虛擬網(wǎng)絡(luò)適配器,并將其IP地址設(shè)為服務(wù)器群的VIP,這樣才能在服務(wù)器直接回應(yīng)客戶端請(qǐng)求時(shí)順利的達(dá)成三次握手。 負(fù)載均衡技術(shù)全攻略(下)Internet的規(guī)模每一百天就會(huì)增長(zhǎng)一倍,客戶希望獲得7天24小時(shí)的不間斷可用性及較快的系統(tǒng)反應(yīng)時(shí)間,而不愿屢次看到某個(gè)站點(diǎn)“Server Too Busy”及頻繁的系統(tǒng)故障。網(wǎng)絡(luò)的各個(gè)核
19、心部分隨著業(yè)務(wù)量的提高、訪問(wèn)量和數(shù)據(jù)流量的快速增長(zhǎng),其處理能力和計(jì)算強(qiáng)度也相應(yīng)增大,使得單一設(shè)備根本無(wú)法承擔(dān)。在此情況下,如果扔掉現(xiàn)有設(shè)備去做大量的硬件升級(jí),這樣將造成現(xiàn)有資源的浪費(fèi),而且如果再面臨下一次業(yè)務(wù)量的提升,這又將導(dǎo)致再一次硬件升級(jí)的高額成本投入,甚至性能再卓越的設(shè)備也不能滿足當(dāng)前業(yè)務(wù)量的需求。于是,負(fù)載均衡機(jī)制應(yīng)運(yùn)而生。負(fù)載均衡(Load Balance)建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價(jià)有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。負(fù)載均衡有兩方面的含義:首先,大量的并發(fā)訪問(wèn)或數(shù)據(jù)流量分擔(dān)到多臺(tái)節(jié)點(diǎn)設(shè)備上分別處理,減少
20、用戶等待響應(yīng)的時(shí)間;其次,單個(gè)重負(fù)載的運(yùn)算分擔(dān)到多臺(tái)節(jié)點(diǎn)設(shè)備上做并行處理,每個(gè)節(jié)點(diǎn)設(shè)備處理結(jié)束后,將結(jié)果匯總,返回給用戶,系統(tǒng)處理能力得到大幅度提高。本文所要介紹的負(fù)載均衡技術(shù)主要是指在均衡服務(wù)器群中所有服務(wù)器和應(yīng)用程序之間流量負(fù)載的應(yīng)用,目前負(fù)載均衡技術(shù)大多數(shù)是用于提高諸如在Web服務(wù)器、FTP服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器上的Internet服務(wù)器程序的可用性和可伸縮性。 負(fù)載均衡實(shí)施要素負(fù)載均衡方案應(yīng)是在網(wǎng)站建設(shè)初期就應(yīng)考慮的問(wèn)題,不過(guò)有時(shí)隨著訪問(wèn)流量的爆炸性增長(zhǎng),超出決策者的意料,這也就成為不得不面對(duì)的問(wèn)題。當(dāng)我們?cè)谝肽撤N負(fù)載均衡方案乃至具體實(shí)施時(shí),像其他的許多方案一樣,首先
21、是確定當(dāng)前及將來(lái)的應(yīng)用需求,然后在代價(jià)與收效之間做出權(quán)衡。針對(duì)當(dāng)前及將來(lái)的應(yīng)用需求,分析網(wǎng)絡(luò)瓶頸的不同所在,我們就需要確立是采用哪一類的負(fù)載均衡技術(shù),采用什么樣的均衡策略,在可用性、兼容性、安全性等等方面要滿足多大的需求,如此等等。不管負(fù)載均衡方案是采用花費(fèi)較少的軟件方式,還是購(gòu)買代價(jià)高昂在性能功能上更強(qiáng)的第四層交換機(jī)、負(fù)載均衡器等硬件方式來(lái)實(shí)現(xiàn),亦或其他種類不同的均衡技術(shù),下面這幾項(xiàng)都是我們?cè)谝刖夥桨笗r(shí)可能要考慮的問(wèn)題: 1. 性能:性能是我們?cè)谝刖夥桨笗r(shí)需要重點(diǎn)考慮的問(wèn)題,但也是一個(gè)最難把握的問(wèn)題。衡量性能時(shí)可將每秒鐘通過(guò)網(wǎng)絡(luò)的數(shù)據(jù)包數(shù)目做為一個(gè)參數(shù),另一個(gè)參數(shù)是均衡方案中服務(wù)器群
22、所能處理的最大并發(fā)連接數(shù)目,但是,假設(shè)一個(gè)均衡系統(tǒng)能處理百萬(wàn)計(jì)的并發(fā)連接數(shù),可是卻只能以每秒2個(gè)包的速率轉(zhuǎn)發(fā),這顯然是沒(méi)有任何作用的。 性能的優(yōu)劣與負(fù)載均衡設(shè)備的處理能力、采用的均衡策略息息相關(guān),并且有兩點(diǎn)需要注意:一、均衡方案對(duì)服務(wù)器群整體的性能,這是響應(yīng)客戶端連接請(qǐng)求速度的關(guān)鍵;二、負(fù)載均衡設(shè)備自身的性能,避免有大量連接請(qǐng)求時(shí)自身性能不足而成為服務(wù)瓶頸。 有時(shí)我們也可以考慮采用混合型負(fù)載均衡策略來(lái)提升服務(wù)器群的總體性能,如DNS負(fù)載均衡與NAT負(fù)載均衡相結(jié)合。另外,針對(duì)有大量靜態(tài)文檔請(qǐng)求的站點(diǎn),也可以考慮采用高速緩存技術(shù),相對(duì)來(lái)說(shuō)更節(jié)省費(fèi)用,更能提高響應(yīng)性能;對(duì)有大量ssl/xml內(nèi)容傳輸
23、的站點(diǎn),更應(yīng)考慮采用ssl/xml加速技術(shù)。 2. 可擴(kuò)展性:IT技術(shù)日新月異,一年以前最新的產(chǎn)品,現(xiàn)在或許已是網(wǎng)絡(luò)中性能最低的產(chǎn)品;業(yè)務(wù)量的急速上升,一年前的網(wǎng)絡(luò),現(xiàn)在需要新一輪的擴(kuò)展。合適的均衡解決方案應(yīng)能滿足這些需求,能均衡不同操作系統(tǒng)和硬件平臺(tái)之間的負(fù)載,能均衡HTTP、郵件、新聞、代理、數(shù)據(jù)庫(kù)、防火墻和 Cache等不同服務(wù)器的負(fù)載,并且能以對(duì)客戶端完全透明的方式動(dòng)態(tài)增加或刪除某些資源。 3. 靈活性:均衡解決方案應(yīng)能靈活地提供不同的應(yīng)用需求,滿足應(yīng)用需求的不斷變化。在不同的服務(wù)器群有不同的應(yīng)用需求時(shí),應(yīng)有多樣的均衡策略提供更廣泛的選擇。 4. 可靠性:在對(duì)服務(wù)質(zhì)量要求較高的站點(diǎn),負(fù)
24、載均衡解決方案應(yīng)能為服務(wù)器群提供完全的容錯(cuò)性和高可用性。但在負(fù)載均衡設(shè)備自身出現(xiàn)故障時(shí),應(yīng)該有良好的冗余解決方案,提高可靠性。使用冗余時(shí),處于同一個(gè)冗余單元的多個(gè)負(fù)載均衡設(shè)備必須具有有效的方式以便互相進(jìn)行監(jiān)控,保護(hù)系統(tǒng)盡可能地避免遭受到重大故障的損失。 5. 易管理性:不管是通過(guò)軟件還是硬件方式的均衡解決方案,我們都希望它有靈活、直觀和安全的管理方式,這樣便于安裝、配置、維護(hù)和監(jiān)控,提高工作效率,避免差錯(cuò)。在硬件負(fù)載均衡設(shè)備上,目前主要有三種管理方式可供選擇:一、命令行接口(CLI:Command Line Interface),可通過(guò)超級(jí)終端連接負(fù)載均衡設(shè)備串行接口來(lái)管理,也能telnet遠(yuǎn)
25、程登錄管理,在初始化配置時(shí),往往要用到前者;二、圖形用戶接口(GUI:Graphical User Interfaces),有基于普通web頁(yè)的管理,也有通過(guò)Java Applet 進(jìn)行安全管理,一般都需要管理端安裝有某個(gè)版本的瀏覽器;三、SNMP(Simple Network Management Protocol,簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)支持,通過(guò)第三方網(wǎng)絡(luò)管理軟件對(duì)符合SNMP標(biāo)準(zhǔn)的設(shè)備進(jìn)行管理。 負(fù)載均衡配置實(shí)例DNS負(fù)載均衡 DNS負(fù)載均衡技術(shù)是在DNS服務(wù)器中為同一個(gè)主機(jī)名配置多個(gè)IP地址,在應(yīng)答DNS查詢時(shí),DNS服務(wù)器對(duì)每個(gè)查詢將以DNS文件中主機(jī)記錄的IP地址按順序返回不同的解析結(jié)
26、果,將客戶端的訪問(wèn)引導(dǎo)到不同的機(jī)器上去,使得不同的客戶端訪問(wèn)不同的服務(wù)器,從而達(dá)到負(fù)載均衡的目的。DNS負(fù)載均衡的優(yōu)點(diǎn)是經(jīng)濟(jì)簡(jiǎn)單易行,并且服務(wù)器可以位于internet上任意的位置。但它也存在不少缺點(diǎn): 1. 為了使本DNS服務(wù)器和其他DNS服務(wù)器及時(shí)交互,保證DNS數(shù)據(jù)及時(shí)更新,使地址能隨機(jī)分配,一般都要將DNS的刷新時(shí)間設(shè)置的較小,但太小將會(huì)使DNS流量大增造成額外的網(wǎng)絡(luò)問(wèn)題。 2. 一旦某個(gè)服務(wù)器出現(xiàn)故障,即使及時(shí)修改了DNS設(shè)置,還是要等待足夠的時(shí)間(刷新時(shí)間)才能發(fā)揮作用,在此期間,保存了故障服務(wù)器地址的客戶計(jì)算機(jī)將不能正常訪問(wèn)服務(wù)器。 3. DNS負(fù)載均衡采用的是簡(jiǎn)單的輪循負(fù)載算法
27、,不能區(qū)分服務(wù)器的差異,不能反映服務(wù)器的當(dāng)前運(yùn)行狀態(tài),不能做到為性能較好的服務(wù)器多分配請(qǐng)求,甚至?xí)霈F(xiàn)客戶請(qǐng)求集中在某一臺(tái)服務(wù)器上的情況。 4. 要給每臺(tái)服務(wù)器分配一個(gè)internet上的IP地址,這勢(shì)必會(huì)占用過(guò)多的IP地址。 判斷一個(gè)站點(diǎn)是否采用了DNS負(fù)載均衡的最簡(jiǎn)單方式就是連續(xù)的ping這個(gè)域名,如果多次解析返回的IP地址不相同的話,那么這個(gè)站點(diǎn)就很可能采用的就是較為普遍的DNS負(fù)載均衡。但也不一定,因?yàn)槿绻捎玫氖荄NS響應(yīng)均衡,多次解析返回的IP地址也可能會(huì)不相同。不妨試試Ping一下,?,F(xiàn)假設(shè)有三臺(tái)服務(wù)器來(lái)應(yīng)對(duì)的請(qǐng)求。在采用BIND 8.x DNS服務(wù)器的unix系統(tǒng)上實(shí)現(xiàn)起來(lái)比較
28、簡(jiǎn)單,只需在該域的數(shù)據(jù)記錄中添加類似下面的結(jié)果: www1 IN A www2 IN A www3
29、60;IN A www IN CNAME www1www IN CNAME www2ww
30、w IN CNAME www3在NT下的實(shí)現(xiàn)也很簡(jiǎn)單,下面詳細(xì)介紹在win2000 server下實(shí)現(xiàn)DNS負(fù)載均衡的過(guò)程,NT4.0類似:1. 打開“管理工具”下的“DNS”,進(jìn)入DNS服務(wù)配置控制臺(tái)。 2. 打開相應(yīng)DNS 服務(wù)器的“屬性”,在“高級(jí)”選項(xiàng)卡的“服務(wù)器選項(xiàng)”中,選中“啟用循環(huán)”復(fù)選框。此步相當(dāng)于在注冊(cè)表記錄HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDNSPa
31、rameters中添加一個(gè)雙字節(jié)制值(dword值)RoundRobin,值為1。 3. 打開正向搜索區(qū)域的相應(yīng)區(qū)域(如),新建主機(jī)添加主機(jī) (A) 資源記錄,記錄如下: www IN A www IN A
32、 www IN A 在這里可以看到的區(qū)別是在NT下一個(gè)主機(jī)名對(duì)應(yīng)多個(gè)IP地址記錄,但在unix下,是先添加多個(gè)不同的主機(jī)名分別對(duì)應(yīng)個(gè)自的IP地址,然后再把這些主機(jī)賦同一個(gè)別名(CNAME)來(lái)實(shí)現(xiàn)的。 4. 在此需要注意的是,NT下本地子網(wǎng)優(yōu)先級(jí)會(huì)取代多宿主名稱的循環(huán)復(fù)用,所以在測(cè)試時(shí),如果做測(cè)試用的客戶
33、機(jī)IP地址與主機(jī)資源記錄的IP在同一有類掩碼范圍內(nèi),就需要清除在“高級(jí)”選項(xiàng)卡“服務(wù)器選項(xiàng)”中的“啟用netmask排序”。 6.NAT負(fù)載均衡NAT(Network Address Translation 網(wǎng)絡(luò)地址轉(zhuǎn)換)簡(jiǎn)單地說(shuō)就是將一個(gè)IP地址轉(zhuǎn)換為另一個(gè)IP地址,一般用于未經(jīng)注冊(cè)的內(nèi)部地址與合法的、已獲注冊(cè)的Internet IP地址間進(jìn)行轉(zhuǎn)換。適用于解決Internet IP地址緊張、不想讓網(wǎng)絡(luò)外部知道內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu)等的場(chǎng)合下。每次NAT轉(zhuǎn)換勢(shì)必會(huì)增加NAT設(shè)備的開銷,但這種額外的開銷對(duì)于大多數(shù)網(wǎng)絡(luò)來(lái)說(shuō)都是微不足道的,除非在高帶寬有大量NAT請(qǐng)求的網(wǎng)絡(luò)上。NAT負(fù)載均衡將一個(gè)外部IP地址
34、映射為多個(gè)內(nèi)部IP地址,對(duì)每次連接請(qǐng)求動(dòng)態(tài)地轉(zhuǎn)換為一個(gè)內(nèi)部服務(wù)器的地址,將外部連接請(qǐng)求引到轉(zhuǎn)換得到地址的那個(gè)服務(wù)器上,從而達(dá)到負(fù)載均衡的目的。NAT負(fù)載均衡是一種比較完善的負(fù)載均衡技術(shù),起著NAT負(fù)載均衡功能的設(shè)備一般處于內(nèi)部服務(wù)器到外部網(wǎng)間的網(wǎng)關(guān)位置,如路由器、防火墻、四層交換機(jī)、專用負(fù)載均衡器等,均衡算法也較靈活,如隨機(jī)選擇、最少連接數(shù)及響應(yīng)時(shí)間等來(lái)分配負(fù)載。 NAT負(fù)載均衡可以通過(guò)軟硬件方式來(lái)實(shí)現(xiàn)。通過(guò)軟件方式來(lái)實(shí)現(xiàn)NAT負(fù)載均衡的設(shè)備往往受到帶寬及系統(tǒng)本身處理能力的限制,由于NAT比較接近網(wǎng)絡(luò)的低層,因此就可以將它集成在硬件設(shè)備中,通常這樣的硬件設(shè)備是第四層交換機(jī)和專用負(fù)載均衡器,第四
35、層交換機(jī)的一項(xiàng)重要功能就是NAT負(fù)載均衡。 下面以實(shí)例介紹一下Cisco路由器NAT負(fù)載均衡的配置: 現(xiàn)有一臺(tái)有一個(gè)串行接口和一個(gè)Ethernet接口的路由器,Ethernet口連接到內(nèi)部網(wǎng)絡(luò),內(nèi)部網(wǎng)絡(luò)上有三臺(tái)web服務(wù)器,但都只是低端配置,為了處理好來(lái)自Internet上大量的web連接請(qǐng)求,因此需要在此路由器上做NAT負(fù)載均衡配置,把發(fā)送到web服務(wù)器合法Internet IP地址的報(bào)文轉(zhuǎn)換成這三臺(tái)服務(wù)器的內(nèi)部本地地址。 其具體配置過(guò)程如下: 1. 做好路由器的基本配置,并定義各個(gè)接口在做NAT時(shí)是內(nèi)部還是外部接口。 2. 然后定義一個(gè)標(biāo)準(zhǔn)訪問(wèn)列表(standard access list
36、),用來(lái)標(biāo)識(shí)要轉(zhuǎn)換的合法IP地址。 3. 再定義NAT地址池來(lái)標(biāo)識(shí)內(nèi)部web服務(wù)器的本地地址,注意要用到關(guān)鍵字rotary,表明我們要使用輪循(Round Robin)的方式從NAT地址池中取出相應(yīng)IP地址來(lái)轉(zhuǎn)換合法IP報(bào)文。 4. 最后,把目標(biāo)地址為訪問(wèn)表中IP的報(bào)文轉(zhuǎn)換成地址池中定義的IP地址。 相應(yīng)配置文件如下:interface Ethernet0/0ip address 48ip nat inside!interface Serial0/0ip address 48 ip nat ou
37、tside! ip access-list 1 permit !ip nat pool websrv netmask 48 type rotary ip nat inside destination list 1 pool websrv 反向代理負(fù)載均衡普通代理方式是代理內(nèi)部網(wǎng)絡(luò)用戶訪問(wèn)internet上服務(wù)器的連接請(qǐng)求,客戶端必須指定代理服務(wù)器,并將本來(lái)要直接發(fā)送到internet上服務(wù)器的連接請(qǐng)求發(fā)送給代理服務(wù)器處理。反向代理(Reverse Proxy)方式是指以代理服務(wù)器來(lái)接受interne
38、t上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)服務(wù)器。反向代理負(fù)載均衡技術(shù)是把將來(lái)自internet上的連接請(qǐng)求以反向代理的方式動(dòng)態(tài)地轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的多臺(tái)服務(wù)器進(jìn)行處理,從而達(dá)到負(fù)載均衡的目的。 反向代理負(fù)載均衡能以軟件方式來(lái)實(shí)現(xiàn),如apache mod_proxy、netscape proxy等,也可以在高速緩存器、負(fù)載均衡器等硬件設(shè)備上實(shí)現(xiàn)。 反向代理負(fù)載均衡可以將優(yōu)化的負(fù)載均衡策略和代理服務(wù)器的高速緩存技術(shù)結(jié)合在一起,提升靜態(tài)網(wǎng)頁(yè)的訪問(wèn)速度,提供有益的性能;由于網(wǎng)絡(luò)外部用戶不能直接訪問(wèn)真實(shí)的服務(wù)器,具備額外的安全性(同理,NAT負(fù)載均衡技術(shù)也有此優(yōu)點(diǎn))。其缺點(diǎn)主要表現(xiàn)在以下兩個(gè)方面: 1. 反向代理是處于OSI參考模型第七層應(yīng)用的,所以就必須為每一種應(yīng)用服務(wù)專門開發(fā)一個(gè)反向代理服務(wù)器,這樣就限制了反向代理負(fù)載均衡技術(shù)的應(yīng)用范圍,現(xiàn)在一般都用于對(duì)web服務(wù)器的負(fù)載均衡。 2. 針對(duì)每一次代理,代理服務(wù)器就必須打開兩個(gè)連接,一個(gè)對(duì)外,一個(gè)對(duì)內(nèi),因此在并發(fā)連接請(qǐng)求數(shù)量非常大的時(shí)候,代理服務(wù)器的負(fù)載也就非常大了,在最后代理服務(wù)器本身會(huì)成為服務(wù)的瓶頸。 一般來(lái)講,可以用它來(lái)對(duì)連接數(shù)量不是特別大,但每次連接都需要消耗大量處理資源的站點(diǎn)進(jìn)行負(fù)載均衡,如se
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 主動(dòng)申請(qǐng)解除合同申請(qǐng)書2
- 備辦宴席行業(yè)經(jīng)營(yíng)分析報(bào)告
- 衣服熨斗市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 自助結(jié)賬終端市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 建筑物租賃或出租行業(yè)經(jīng)營(yíng)分析報(bào)告
- 為慢性病患者提供脊椎按摩服務(wù)行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 螺旋槳項(xiàng)目營(yíng)銷計(jì)劃書
- 舞臺(tái)燈光設(shè)備商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 穿戴式視頻顯示器產(chǎn)品供應(yīng)鏈分析
- 人工呼吸用呼吸面罩出租行業(yè)相關(guān)項(xiàng)目經(jīng)營(yíng)管理報(bào)告
- 第一次家長(zhǎng)會(huì) 課件(共張ppt) 七年級(jí)上學(xué)期
- 品管圈QCC降低ICU患者約束缺陷率課件
- 國(guó)家開放大學(xué)-操作系統(tǒng)(本)章節(jié)測(cè)試參考答案(整理版)
- 列那狐的故事習(xí)題及答案
- 諸子百家-優(yōu)質(zhì)課件
- 思想道德與法治 第三章
- 綠色幼兒園科普我和蔬菜做朋友PPT
- 《戲劇鑒賞》考試復(fù)習(xí)題庫(kù)150題(含答案)
- 滬教版小學(xué)四年級(jí)數(shù)學(xué)上文字題解決問(wèn)題綜合練習(xí)
- 專利申請(qǐng)答復(fù)審查意見(jiàn)實(shí)用模板大全
- 《民用建筑節(jié)能(綠色建筑)設(shè)計(jì)備案表》
評(píng)論
0/150
提交評(píng)論