當(dāng)前,無(wú)論在企業(yè)網(wǎng)、園區(qū)網(wǎng)還是在廣域網(wǎng)如Internet上,業(yè)務(wù)量的發(fā)展都超出了過(guò)去最樂(lè)觀的估計(jì),上網(wǎng)熱潮風(fēng)起云涌,新的應(yīng) 用層出不窮,即使按照當(dāng)時(shí)最優(yōu)配置建設(shè)的網(wǎng)絡(luò),也很快會(huì)感到吃不消。尤其是各個(gè)網(wǎng)絡(luò)的核心部分,其數(shù)據(jù)流量和計(jì)算強(qiáng)度之大, 使得單一設(shè)備根本無(wú)法承擔(dān),而如何在完成同樣功能的多個(gè)網(wǎng)絡(luò)設(shè)備之間實(shí)現(xiàn)合理的業(yè)務(wù)量分配,使之不致于出現(xiàn)一臺(tái)設(shè)備過(guò)忙、而 別的設(shè)備卻未充分發(fā)揮處理能力的情況,就成了一個(gè)問(wèn)題,負(fù)載均衡機(jī)制也因此應(yīng)運(yùn)而生。
負(fù)載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價(jià)有效的方法擴(kuò)展服務(wù)器帶寬和增加吞吐量,加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高 網(wǎng)絡(luò)的靈活性和可用性。它主要完成以下任務(wù):解決網(wǎng)絡(luò)擁塞問(wèn)題,服務(wù)就近提供,實(shí)現(xiàn)地理位置無(wú)關(guān)性 ;為用戶提供更好的訪問(wèn)質(zhì) 量;提高服務(wù)器響應(yīng)速度;提高服務(wù)器及其他資源的利用效率;避免了網(wǎng)絡(luò)關(guān)鍵部位出現(xiàn)單點(diǎn)失效。
定義
其實(shí),負(fù)載均衡并非傳統(tǒng)意義上的“均衡”,一般來(lái)說(shuō),它只是把有可能擁塞于一個(gè)地方的負(fù)載交給多個(gè)地方分擔(dān)。如果將其改 稱為“負(fù)載分擔(dān)”,也許更好懂一些。說(shuō)得通俗一點(diǎn),負(fù)載均衡在網(wǎng)絡(luò)中的作用就像輪流值日制度,把任務(wù)分給大家來(lái)完成,以免讓 一個(gè)人累死累活。不過(guò),這種意義上的均衡一般是靜態(tài)的,也就是事先確定的“輪值”策略 。
與輪流值日制度不同的是,動(dòng)態(tài)負(fù)載均衡通過(guò)一些工具實(shí)時(shí)地分析數(shù)據(jù)包,掌握網(wǎng)絡(luò)中的數(shù)據(jù)流量狀況,把任務(wù)合理分配出去。 結(jié)構(gòu)上分為本地負(fù)載均衡和地域負(fù)載均衡(全局負(fù)載均衡),前一種是指對(duì)本地的服務(wù)器集群做負(fù)載均衡,后一種是指對(duì)分別放置在不 同的地理位置、在不同的網(wǎng)絡(luò)及服務(wù)器群集之間作負(fù)載均衡。
服務(wù)器群集中每個(gè)服務(wù)結(jié)點(diǎn)運(yùn)行一個(gè)所需服務(wù)器程序的獨(dú)立拷貝,諸如Web、FTP、Telnet或e-mail服務(wù)器程序。對(duì)于某些服務(wù)(如 運(yùn)行在Web服務(wù)器上的那些服務(wù))而言,程序的一個(gè)拷貝運(yùn)行在群集內(nèi)所有的主機(jī)上,而網(wǎng)絡(luò)負(fù)載均衡則將工作負(fù)載在這些主機(jī)間進(jìn) 行分配。對(duì)于其他服務(wù)(例如e-mail),只有一臺(tái)主機(jī)處理工作負(fù)載,針對(duì)這些服務(wù),網(wǎng)絡(luò)負(fù)載均衡允許網(wǎng)絡(luò)通訊量流到一個(gè)主機(jī) 上,并在該主機(jī)發(fā)生故障時(shí)將通訊量移至其他主機(jī)。
負(fù)載均衡技術(shù)實(shí)現(xiàn)結(jié)構(gòu)
在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,負(fù)載均衡提供了一種廉價(jià)有效的方法擴(kuò)展服務(wù)器帶寬和增加吞吐量,加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高網(wǎng)絡(luò)的 靈活性和可用性。它主要完成以下任務(wù):
◆解決網(wǎng)絡(luò)擁塞問(wèn)題,服務(wù)就近提供,實(shí)現(xiàn)地理位置無(wú)關(guān)性
◆為用戶提供更好的訪問(wèn)質(zhì)量
◆提高服務(wù)器響應(yīng)速度
◆提高服務(wù)器及其他資源的利用效率
◆避免了網(wǎng)絡(luò)關(guān)鍵部位出現(xiàn)單點(diǎn)失效
廣義上的負(fù)載均衡既可以設(shè)置專門的網(wǎng)關(guān)、負(fù)載均衡器,也可以通過(guò)一些專用軟件與協(xié)議來(lái)實(shí)現(xiàn)。對(duì)一個(gè)網(wǎng)絡(luò)的負(fù)載均衡應(yīng)用, 從網(wǎng)絡(luò)的不同層次入手,根據(jù)網(wǎng)絡(luò)瓶頸所在進(jìn)行具體分析。從客戶端應(yīng)用為起點(diǎn)縱向分析,參考OSI的分層模型,我們把負(fù)載均衡技 術(shù)的實(shí)現(xiàn)分為客戶端負(fù)載均衡技術(shù)、應(yīng)用服務(wù)器技術(shù)、高層協(xié)議交換、網(wǎng)絡(luò)接入?yún)f(xié)議交換等幾種方式。
負(fù)載均衡的層次
◆基于客戶端的負(fù)載均衡
這種模式指的是在網(wǎng)絡(luò)的客戶端運(yùn)行特定的程序,該程序通過(guò)定期或不定期的收集服務(wù)器群的運(yùn)行參數(shù):CPU占用情況、磁盤 IO、內(nèi)存等動(dòng)態(tài)信息,再根據(jù)某種選擇策略,找到可以提供服務(wù)的最佳服務(wù)器,將本地的應(yīng)用請(qǐng)求發(fā)向它。如果負(fù)載信息采集程序發(fā) 現(xiàn)服務(wù)器失效,則找到其他可替代的服務(wù)器作為服務(wù)選擇。整個(gè)過(guò)程對(duì)于應(yīng)用程序來(lái)說(shuō)是完全透明的,所有的工作都在運(yùn)行時(shí)處理。 因此這也是一種動(dòng)態(tài)的負(fù)載均衡技術(shù)。
但這種技術(shù)存在通用性的問(wèn)題。因?yàn)槊恳粋€(gè)客戶端都要安裝這個(gè)特殊的采集程序;并且,為了保證應(yīng)用層的透明運(yùn)行,需要針對(duì) 每一個(gè)應(yīng)用程序加以修改,通過(guò)動(dòng)態(tài)鏈接庫(kù)或者嵌入的方法,將客戶端的訪問(wèn)請(qǐng)求能夠先經(jīng)過(guò)采集程序再發(fā)往服務(wù)器,以重定向的過(guò) 程進(jìn)行。對(duì)于每一個(gè)應(yīng)用幾乎要對(duì)代碼進(jìn)行重新開發(fā),工作量比較大。
所以,這種技術(shù)僅在特殊的應(yīng)用場(chǎng)合才使用到,比如在執(zhí)行某些專有任務(wù)的時(shí)候,比較需要分布式的計(jì)算能力,對(duì)應(yīng)用的開發(fā)沒(méi) 有太多要求。另外,在采用JAVA構(gòu)架模型中,常常使用這種模式實(shí)現(xiàn)分布式的負(fù)載均衡,因?yàn)閖ava應(yīng)用都基于虛擬機(jī)進(jìn)行,可以在應(yīng) 用層和虛擬機(jī)之間設(shè)計(jì)一個(gè)中間層,處理負(fù)載均衡的工作。
◆應(yīng)用服務(wù)器的負(fù)載均衡技術(shù)
如果將客戶端的負(fù)載均衡層移植到某一個(gè)中間平臺(tái),形成三層結(jié)構(gòu),則客戶端應(yīng)用可以不需要做特殊的修改,透明的通過(guò)中間層 應(yīng)用服務(wù)器將請(qǐng)求均衡到相應(yīng)的服務(wù)結(jié)點(diǎn)。比較常見(jiàn)的實(shí)現(xiàn)手段就是反向代理技術(shù)。使用反向代理服務(wù)器,可以將請(qǐng)求均勻轉(zhuǎn)發(fā)給多 臺(tái)服務(wù)器,或者直接將緩存的數(shù)據(jù)返回客戶端,這樣的加速模式在一定程度上可以提升靜態(tài)網(wǎng)頁(yè)的訪問(wèn)速度,從而達(dá)到負(fù)載均衡的目 的。
使用反向代理的好處是,可以將負(fù)載均衡和代理服務(wù)器的高速緩存技術(shù)結(jié)合在一起,提供有益的性能。然而它本身也存在一些問(wèn) 題,首先就是必須為每一種服務(wù)都專門開發(fā)一個(gè)反向代理服務(wù)器,這就不是一個(gè)輕松的任務(wù)。
反向代理服務(wù)器本身雖然可以達(dá)到很高效率,但是針對(duì)每一次代理,代理服務(wù)器就必須維護(hù)兩個(gè)連接,一個(gè)對(duì)外的連接,一個(gè)對(duì) 內(nèi)的連接,因此對(duì)于特別高的連接請(qǐng)求,代理服務(wù)器的負(fù)載也就非常之大。反向代理能夠執(zhí)行針對(duì)應(yīng)用協(xié)議而優(yōu)化的負(fù)載均衡策略, 每次僅訪問(wèn)最空閑的內(nèi)部服務(wù)器來(lái)提供服務(wù)。但是隨著并發(fā)連接數(shù)量的增加,代理服務(wù)器本身的負(fù)載也變得非常大,最后反向代理服 務(wù)器本身會(huì)成為服務(wù)的瓶頸。
◆基于域名系統(tǒng)的負(fù)載均衡
NCSA的可擴(kuò)展Web是最早使用動(dòng)態(tài)DNS輪詢技術(shù)的web系統(tǒng)。在DNS中為多個(gè)地址配置同一個(gè)名字,因而查詢這個(gè)名字的客戶機(jī)將 得到其中一個(gè)地址,從而使得不同的客戶訪問(wèn)不同的服務(wù)器,達(dá)到負(fù)載均衡的目的。在很多知名的web站點(diǎn)都使用了這個(gè)技術(shù):包括 早期的yahoo站點(diǎn)、163等。動(dòng)態(tài)DNS輪詢實(shí)現(xiàn)起來(lái)簡(jiǎn)單,無(wú)需復(fù)雜的配置和管理,一般支持bind8.2以上的類unix系統(tǒng)都能夠運(yùn)行,因 此廣為使用。
DNS負(fù)載均衡是一種簡(jiǎn)單而有效的方法,但是存在不少問(wèn)題。
首先域名服務(wù)器無(wú)法知道服務(wù)結(jié)點(diǎn)是否有效,如果服務(wù)結(jié)點(diǎn)失效,余名系統(tǒng)依然會(huì)將域名解析到該節(jié)點(diǎn)上,造成用戶訪問(wèn)失效。
其次,由于DNS的數(shù)據(jù)刷新時(shí)間TTL(Time to LIVE)標(biāo)志,一旦超過(guò)這個(gè)TTL,其他DNS服務(wù)器就需要和這個(gè)服務(wù)器交互,以重 新獲得地址數(shù)據(jù),就有可能獲得不同IP地址。因此為了使地址能隨機(jī)分配,就應(yīng)使TTL盡量短,不同地方的DNS服務(wù)器能更新對(duì)應(yīng)的 地址,達(dá)到隨機(jī)獲得地址。然而將TTL設(shè)置得過(guò)短,將使DNS流量大增,而造成額外的網(wǎng)絡(luò)問(wèn)題。
最后,它不能區(qū)分服務(wù)器的差異,也不能反映服務(wù)器的當(dāng)前運(yùn)行狀態(tài)。當(dāng)使用DNS負(fù)載均衡的時(shí)候,必須盡量保證不同的客戶計(jì) 算機(jī)能均勻獲得不同的地址。例如,用戶A可能只是瀏覽幾個(gè)網(wǎng)頁(yè),而用戶B可能進(jìn)行著大量的下載,由于域名系統(tǒng)沒(méi)有合適的負(fù)載策 略,僅僅是簡(jiǎn)單的輪流均衡,很容易將用戶A的請(qǐng)求發(fā)往負(fù)載輕的站點(diǎn),而將B的請(qǐng)求發(fā)往負(fù)載已經(jīng)很重的站點(diǎn)。因此,在動(dòng)態(tài)平衡特 性上,動(dòng)態(tài)DNS輪詢的效果并不理想。
◆高層協(xié)議內(nèi)容交換技術(shù)
除了上述的幾種負(fù)載均衡方式之外,還有在協(xié)議內(nèi)部支持負(fù)載均衡能力的技術(shù),即URL交換或七層交換,提供了一種對(duì)訪問(wèn)流量 的高層控制方式。Web內(nèi)容交換技術(shù)檢查所有的HTTP報(bào)頭,根據(jù)報(bào)頭內(nèi)的信息來(lái)執(zhí)行負(fù)載均衡的決策。例如可以根據(jù)這些信息來(lái)確定 如何為個(gè)人主頁(yè)和圖像數(shù)據(jù)等內(nèi)容提供服務(wù),常見(jiàn)的有HTTP協(xié)議中的重定向能力等。
HTTP運(yùn)行于TCP連接的最高層??蛻舳送ㄟ^(guò)恒定的端口號(hào)80的TCP服務(wù)直接連接到服務(wù)器,然后通過(guò)TCP連接向服務(wù)器端發(fā)送一個(gè) HTTP請(qǐng)求。協(xié)議交換根據(jù)內(nèi)容策略來(lái)控制負(fù)載,而不是根據(jù)TCP端口號(hào),所以不會(huì)造成訪問(wèn)流量的滯留。
由于負(fù)載平衡設(shè)備要把進(jìn)入的請(qǐng)求分配給多個(gè)服務(wù)器,因此,它只能在TCP連接時(shí)建立,且HTTP請(qǐng)求通過(guò)后才能確定如何進(jìn)行負(fù) 載的平衡。當(dāng)一個(gè)網(wǎng)站的點(diǎn)擊率達(dá)到每秒上百甚至上千次時(shí),TCP連接、HTTP報(bào)頭信息的分析以及進(jìn)程的時(shí)延已經(jīng)變得很重要了,要 盡一切可能提高這幾各部份的性能。
在HTTP請(qǐng)求和報(bào)頭中有很多對(duì)負(fù)載平衡有用的信息。我們可以從這些信息中獲知客戶端所請(qǐng)求的URL和網(wǎng)頁(yè),利用這個(gè)信息,負(fù) 載平衡設(shè)備就可以將所有的圖像請(qǐng)求引導(dǎo)到一個(gè)圖像服務(wù)器,或者根據(jù)URL的數(shù)據(jù)庫(kù)查詢內(nèi)容調(diào)用CGI程序,將請(qǐng)求引導(dǎo)到一個(gè)專用 的高性能數(shù)據(jù)庫(kù)服務(wù)器。
如果網(wǎng)絡(luò)管理員熟悉內(nèi)容交換技術(shù),他可以根據(jù)HTTP報(bào)頭的cookie字段來(lái)使用Web內(nèi)容交換技術(shù)改善對(duì)特定客戶的服務(wù),如果能 從HTTP請(qǐng)求中找到一些規(guī)律,還可以充分利用它作出各種決策。除了TCP連接表的問(wèn)題外,如何查找合適的HTTP報(bào)頭信息以及作出 負(fù)載平衡決策的過(guò)程,是影響Web內(nèi)容交換技術(shù)性能的重要問(wèn)題。如果Web服務(wù)器已經(jīng)為圖像服務(wù)、SSL對(duì)話、數(shù)據(jù)庫(kù)事務(wù)服務(wù)之類的 特殊功能進(jìn)行了優(yōu)化,那么,采用這個(gè)層次的流量控制將可以提高網(wǎng)絡(luò)的性能。
◆網(wǎng)絡(luò)接入?yún)f(xié)議交換
大型的網(wǎng)絡(luò)一般都是由大量專用技術(shù)設(shè)備組成的,如包括防火墻、路由器、第3、4層交換機(jī)、負(fù)載均衡設(shè)備、緩沖服務(wù)器和Web 服務(wù)器等。如何將這些技術(shù)設(shè)備有機(jī)地組合在一起,是一個(gè)直接影響到網(wǎng)絡(luò)性能的關(guān)鍵性問(wèn)題。現(xiàn)在許多交換機(jī)提供第四層交換功 能,對(duì)外提供一個(gè)一致的IP地址,并映射為多個(gè)內(nèi)部IP地址,對(duì)每次TCP和UDP連接請(qǐng)求,根據(jù)其端口號(hào),按照即定的策略動(dòng)態(tài)選擇 一個(gè)內(nèi)部地址,將數(shù)據(jù)包轉(zhuǎn)發(fā)到該地址上,達(dá)到負(fù)載均衡的目的。很多硬件廠商將這種技術(shù)集成在他們的交換機(jī)中,作為他們第四層 交換的一種功能來(lái)實(shí)現(xiàn),一般采用隨機(jī)選擇、根據(jù)服務(wù)器的連接數(shù)量或者響應(yīng)時(shí)間進(jìn)行選擇的負(fù)載均衡策略來(lái)分配負(fù)載。由于地址轉(zhuǎn) 換相對(duì)來(lái)講比較接近網(wǎng)絡(luò)的低層,因此就有可能將它集成在硬件設(shè)備中,通常這樣的硬件設(shè)備是局域網(wǎng)交換機(jī)。
當(dāng)前局域網(wǎng)交換機(jī)所謂的第四層交換技術(shù),就是按照IP地址和TCP端口進(jìn)行虛擬連接的交換,直接將數(shù)據(jù)包發(fā)送到目的計(jì)算機(jī)的 相應(yīng)端口。通過(guò)交換機(jī)將來(lái)自外部的初始連接請(qǐng)求,分別與內(nèi)部的多個(gè)地址相聯(lián)系,此后就能對(duì)這些已經(jīng)建立的虛擬連接進(jìn)行交換。 因此,一些具備第四層交換能力的局域網(wǎng)交換機(jī),就能作為一個(gè)硬件負(fù)載均衡器,完成服務(wù)器的負(fù)載均衡。
由于第四層交換基于硬件芯片,因此其性能非常優(yōu)秀,尤其是對(duì)于網(wǎng)絡(luò)傳輸速度和交換速度遠(yuǎn)遠(yuǎn)超過(guò)普通的數(shù)據(jù)包轉(zhuǎn)發(fā)。然而, 正因?yàn)樗鞘褂糜布?shí)現(xiàn)的,因此也不夠靈活,僅僅能夠處理幾種最標(biāo)準(zhǔn)的應(yīng)用協(xié)議的負(fù)載均衡,如HTTP 。當(dāng)前負(fù)載均衡主要用于 解決服務(wù)器的處理能力不足的問(wèn)題,因此并不能充分發(fā)揮交換機(jī)帶來(lái)的高網(wǎng)絡(luò)帶寬的優(yōu)點(diǎn)。
使用基于操作系統(tǒng)的第四層交換技術(shù)因此孕育而生。通過(guò)開放源碼的Linux,將第四層交換的核心功能做在系統(tǒng)的核心層,能夠在 相對(duì)高效穩(wěn)定的核心空間進(jìn)行IP包的數(shù)據(jù)處理工作,其效率不比采用專有OS的硬件交換機(jī)差多少。同時(shí)又可以在核心層或者用戶層增 加基于交換核心的負(fù)載均衡策略支持,因此在靈活性上遠(yuǎn)遠(yuǎn)高于硬件系統(tǒng),而且造價(jià)方面有更好的優(yōu)勢(shì)。
◆傳輸鏈路聚合
為了支持與日俱增的高帶寬應(yīng)用,越來(lái)越多的PC機(jī)使用更加快速的鏈路連入網(wǎng)絡(luò)。而網(wǎng)絡(luò)中的業(yè)務(wù)量分布是不平衡的,核心高、 邊緣低,關(guān)鍵部門高、一般部門低。伴隨計(jì)算機(jī)處理能力的大幅度提高,人們對(duì)多工作組局域網(wǎng)的處理能力有了更高的要求。當(dāng)企業(yè) 內(nèi)部對(duì)高帶寬應(yīng)用需求不斷增大時(shí)(例如Web訪問(wèn)、文檔傳輸及內(nèi)部網(wǎng)連接),局域網(wǎng)核心部位的數(shù)據(jù)接口將產(chǎn)生瓶頸問(wèn)題,瓶頸延 長(zhǎng)了客戶應(yīng)用請(qǐng)求的響應(yīng)時(shí)間。并且局域網(wǎng)具有分散特性,網(wǎng)絡(luò)本身并沒(méi)有針對(duì)服務(wù)器的保護(hù)措施,一個(gè)無(wú)意的動(dòng)作(像一腳踢掉網(wǎng) 線的插頭)就會(huì)讓服務(wù)器與網(wǎng)絡(luò)斷開。
通常,解決瓶頸問(wèn)題采用的對(duì)策是提高服務(wù)器鏈路的容量,使其超出目前的需求。例如可以由快速以太網(wǎng)升級(jí)到千兆以太網(wǎng)。對(duì) 于大型企業(yè)來(lái)說(shuō),采用升級(jí)技術(shù)是一種長(zhǎng)遠(yuǎn)的、有前景的解決方案。然而對(duì)于許多企業(yè),當(dāng)需求還沒(méi)有大到非得花費(fèi)大量的金錢和時(shí) 間進(jìn)行升級(jí)時(shí),使用升級(jí)技術(shù)就顯得大材小用了。在這種情況下,鏈路聚合技術(shù)為消除傳輸鏈路上的瓶頸與不安全因素提供了成本低 廉的解決方案。
鏈路聚合技術(shù),將多個(gè)線路的傳輸容量融合成一個(gè)單一的邏輯連接。當(dāng)原有的線路滿足不了需求,而單一線路的升級(jí)又太昂貴或 難以實(shí)現(xiàn)時(shí),就要采用多線路的解決方案了。目前有5種鏈路聚合技術(shù)可以將多條線路“捆綁”起來(lái)。
同步IMUX系統(tǒng)工作在T1/E1的比特層,利用多個(gè)同步的DS1信道傳輸數(shù)據(jù),來(lái)實(shí)現(xiàn)負(fù)載均衡。
IMA是另外一種多線路的反向多路復(fù)用技術(shù),工作在信元級(jí),能夠運(yùn)行在使用ATM路由器的平臺(tái)上。
用路由器來(lái)實(shí)現(xiàn)多線路是一種流行的鏈路聚合技術(shù),路由器可以根據(jù)已知的目的地址的緩沖(cache)大小,將分組分配給各個(gè)平 行的鏈路,也可以采用循環(huán)分配的方法來(lái)向線路分發(fā)分組。
多重鏈路PPP,又稱MP或MLP,是應(yīng)用于使用PPP封裝數(shù)據(jù)鏈路的路由器負(fù)載平衡技術(shù)。MP可以將大的PPP數(shù)據(jù)包分解成小的數(shù)據(jù) 段,再將其分發(fā)給平行的多個(gè)線路,還可以根據(jù)當(dāng)前的鏈路利用率來(lái)動(dòng)態(tài)地分配撥號(hào)線路。這樣做盡管速度很慢,因?yàn)閿?shù)據(jù)包分段和 附加的緩沖都增加時(shí)延,但可以在低速的線路上運(yùn)行得很好。
還有一種鏈路聚合發(fā)生在服務(wù)器或者網(wǎng)橋的接口卡上,通過(guò)同一塊接口卡的多個(gè)端口映射到相同的IP地址,均衡本地的以太網(wǎng)流 量以實(shí)現(xiàn)在服務(wù)器上經(jīng)過(guò)的流量成倍增加。目前市面上的產(chǎn)品有intel和dlink的多端口網(wǎng)卡,,一般在一塊網(wǎng)卡上綁定4個(gè)100M以太端 口,大大提高了服務(wù)器的網(wǎng)絡(luò)吞吐量。不過(guò)這項(xiàng)技術(shù)由于需要操作系統(tǒng)驅(qū)動(dòng)層的支持,只能在win2000和linux下實(shí)現(xiàn)。
鏈路聚合系統(tǒng)增加了網(wǎng)絡(luò)的復(fù)雜性,但也提高了網(wǎng)絡(luò)的可靠性,使人們可以在服務(wù)器等關(guān)鍵LAN段的線路上采用冗余路由。對(duì)于 IP系統(tǒng),可以考慮采用VRRP(虛擬路由冗余協(xié)議)。VRRP可以生成一個(gè)虛擬缺省的網(wǎng)關(guān)地址,當(dāng)主路由器無(wú)法接通時(shí),備用路由器就 會(huì)采用這個(gè)地址,使LAN通信得以繼續(xù)??傊?,當(dāng)主要線路的性能必需提高而單條線路的升級(jí)又不可行時(shí),可以采用鏈路聚合技術(shù)。
◆帶均衡策略的服務(wù)器群集
如今,服務(wù)器必須具備提供大量并發(fā)訪問(wèn)服務(wù)的能力,其處理能力和I/O能力已經(jīng)成為提供服務(wù)的瓶頸。如果客戶的增多導(dǎo)致通信 量超出了服務(wù)器能承受的范圍,那么其結(jié)果必然是——宕機(jī)。顯然,單臺(tái)服務(wù)器有限的性能不可能解決這個(gè)問(wèn)題,一臺(tái)普通服務(wù)器的 處理能力只能達(dá)到每秒幾萬(wàn)個(gè)到幾十萬(wàn)個(gè)請(qǐng)求,無(wú)法在一秒鐘內(nèi)處理上百萬(wàn)個(gè)甚至更多的請(qǐng)求。但若能將10臺(tái)這樣的服務(wù)器組成一個(gè) 系統(tǒng),并通過(guò)軟件技術(shù)將所有請(qǐng)求平均分配給所有服務(wù)器,那么這個(gè)系統(tǒng)就完全擁有每秒鐘處理幾百萬(wàn)個(gè)甚至更多請(qǐng)求的能力。這就 是利用服務(wù)器群集實(shí)現(xiàn)負(fù)載均衡的最初基本設(shè)計(jì)思想。
早期的服務(wù)器群集通常以光纖鏡像卡進(jìn)行主從方式備份。令服務(wù)運(yùn)營(yíng)商頭疼的是關(guān)鍵性服務(wù)器或應(yīng)用較多、數(shù)據(jù)流量較大的服務(wù) 器一般檔次不會(huì)太低,而服務(wù)運(yùn)營(yíng)商花了兩臺(tái)服務(wù)器的錢卻常常只得到一臺(tái)服務(wù)器的性能。通過(guò)地址轉(zhuǎn)換將多臺(tái)服務(wù)器網(wǎng)卡的不同IP 地址翻譯成一個(gè)VIP(Virtual IP)地址,使得每臺(tái)服務(wù)器均時(shí)時(shí)處于工作狀態(tài)。原來(lái)需要用小型機(jī)來(lái)完成的工作改由多臺(tái)PC服務(wù)器完成, 這種彈性解決方案對(duì)投資保護(hù)的作用是相當(dāng)明顯的——既避免了小型機(jī)剛性升級(jí)所帶來(lái)的巨大設(shè)備投資,又避免了人員培訓(xùn)的重復(fù)投 資。同時(shí),服務(wù)運(yùn)營(yíng)商可以依據(jù)業(yè)務(wù)的需要隨時(shí)調(diào)整服務(wù)器的數(shù)量。
網(wǎng)絡(luò)負(fù)載均衡提高了諸如Web服務(wù)器、FTP服務(wù)器和其他關(guān)鍵任務(wù)服務(wù)器上的因特網(wǎng)服務(wù)器程序的可用性和可伸縮性。單一計(jì)算 機(jī)可以提供有限級(jí)別的服務(wù)器可靠性和可伸縮性。但是,通過(guò)將兩個(gè)或兩個(gè)以上高級(jí)服務(wù)器的主機(jī)連成群集,網(wǎng)絡(luò)負(fù)載均衡就能夠提 供關(guān)鍵任務(wù)服務(wù)器所需的可靠性和性能。
為了建立一個(gè)高負(fù)載的Web站點(diǎn),必須使用多服務(wù)器的分布式結(jié)構(gòu)。上面提到的使用代理服務(wù)器和Web服務(wù)器相結(jié)合,或者兩臺(tái) Web服務(wù)器相互協(xié)作的方式也屬于多服務(wù)器的結(jié)構(gòu),但在這些多服務(wù)器的結(jié)構(gòu)中,每臺(tái)服務(wù)器所起到的作用是不同的,屬于非對(duì)稱的 體系結(jié)構(gòu)。非對(duì)稱的服務(wù)器結(jié)構(gòu)中每個(gè)服務(wù)器起到的作用是不同的,例如一臺(tái)服務(wù)器用于提供靜態(tài)網(wǎng)頁(yè),而另一臺(tái)用于提供動(dòng)態(tài)網(wǎng)頁(yè) 等等。這樣就使得網(wǎng)頁(yè)設(shè)計(jì)時(shí)就需要考慮不同服務(wù)器之間的關(guān)系,一旦要改變服務(wù)器之間的關(guān)系,就會(huì)使得某些網(wǎng)頁(yè)出現(xiàn)連接錯(cuò)誤, 不利于維護(hù),可擴(kuò)展性也較差。
能進(jìn)行負(fù)載均衡的網(wǎng)絡(luò)設(shè)計(jì)結(jié)構(gòu)為對(duì)稱結(jié)構(gòu),在對(duì)稱結(jié)構(gòu)中每臺(tái)服務(wù)器都具備等價(jià)的地位,都可以單獨(dú)對(duì)外提供服務(wù)而無(wú)須其他 服務(wù)器的輔助。然后,可以通過(guò)某種技術(shù),將外部發(fā)送來(lái)的請(qǐng)求均勻分配到對(duì)稱結(jié)構(gòu)中的每臺(tái)服務(wù)器上,接收到連接請(qǐng)求的服務(wù)器都 獨(dú)立回應(yīng)客戶的請(qǐng)求。在這種結(jié)構(gòu)中,由于建立內(nèi)容完全一致的Web服務(wù)器并不困難,因此負(fù)載均衡技術(shù)就成為建立一個(gè)高負(fù)載Web 站點(diǎn)的關(guān)鍵性技術(shù)。
總之,負(fù)載均衡是一種策略,它能讓多臺(tái)服務(wù)器或多條鏈路共同承擔(dān)一些繁重的計(jì)算或I/O任務(wù),從而以較低成本消除網(wǎng)絡(luò)瓶頸, 提高網(wǎng)絡(luò)的靈活性和可靠性。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。