用Forefront管理Web服務(wù)器負(fù)載均衡
當(dāng)Web服務(wù)器的用戶數(shù)量比較多時(shí),通過(guò)Web服務(wù)器負(fù)載均衡來(lái)提高用戶的訪問(wèn)性能,是一個(gè)比較常用的手段。如下圖所示。可以在企業(yè)中同時(shí)設(shè)置兩臺(tái)或者兩臺(tái)以上的Web服務(wù)器,從而實(shí)現(xiàn)在服務(wù)期之間負(fù)載均衡。如此的話,當(dāng)有一個(gè)用戶訪問(wèn)某個(gè)網(wǎng)頁(yè)時(shí),系統(tǒng)會(huì)自動(dòng)挑選一臺(tái)比較空閑的服務(wù)器來(lái)應(yīng)對(duì)用戶的請(qǐng)求。現(xiàn)在主要的關(guān)鍵點(diǎn)是,由誰(shuí)來(lái)確定,這個(gè)訪問(wèn)者應(yīng)該連接到哪一臺(tái)服務(wù)器呢?給用戶選擇恰當(dāng)?shù)姆?wù)器,不僅可以提高用戶的訪問(wèn)性能,而且還可以提高數(shù)據(jù)的安全性。

一、可以借助Forefront來(lái)充當(dāng)裁判的角色
在搭建服務(wù)器負(fù)載均衡環(huán)境時(shí),很重要的一個(gè)問(wèn)題就是如何來(lái)確定哪一臺(tái)服務(wù)器比較空間,或者說(shuō)用戶該連接在那一臺(tái)服務(wù)器上?雖然現(xiàn)在不少的服務(wù)器軟件都帶有這個(gè)功能,但是如果采用Forefront安全網(wǎng)關(guān)產(chǎn)品的話,還能夠帶來(lái)一些額外的安全收益。
如現(xiàn)在以上兩臺(tái)Web服務(wù)器,雖然是為了實(shí)現(xiàn)負(fù)載均衡來(lái)設(shè)置的。但是兩臺(tái)服務(wù)器有主次之別。如Web服務(wù)器1是主服務(wù)器,用戶不僅可以在這臺(tái)服務(wù)器上進(jìn)行查詢(xún),而且還可以更新相關(guān)的數(shù)據(jù)。而對(duì)于Web服務(wù)器來(lái)說(shuō),其是輔助查詢(xún),一般用戶只能夠查詢(xún),而不能夠更新。此時(shí)為了安全起見(jiàn),顯然會(huì)對(duì)訪問(wèn)Web服務(wù)器1的用戶進(jìn)行限制。如企業(yè)內(nèi)部的用戶,只能夠訪問(wèn)Web服務(wù)器1。而對(duì)于外部用戶,優(yōu)先訪問(wèn)的是Web服務(wù)器2。當(dāng)Web服務(wù)器2比較繁忙時(shí),才允許外部用戶訪問(wèn)Web服務(wù)器1。此時(shí)顯然不是簡(jiǎn)單的Web服務(wù)器負(fù)載均衡可以實(shí)現(xiàn)的。要完成這個(gè)需求的話,必須要借助Forefront的幫助。從而在性能與安全之間達(dá)到一個(gè)均衡。
如上圖所示,在Forefront安全網(wǎng)關(guān)的幫助下,管理員在發(fā)布執(zhí)行相同角色的Web服務(wù)器時(shí)(即服務(wù)器負(fù)載均衡),可以控制各個(gè)服務(wù)器之間的復(fù)雜均衡(即可以是完全的負(fù)載均衡,也可以是有條件的負(fù)載均衡),從而實(shí)現(xiàn)入站訪問(wèn)的高可用性,并提高Web服務(wù)器的安全與性能。#p#
二、Forefront服務(wù)器負(fù)載均衡的主要實(shí)現(xiàn)方式
Forefront能夠確保負(fù)載均衡在無(wú)需中斷當(dāng)前端點(diǎn)連接的情況下在可用Web服務(wù)器之間平均分布請(qǐng)求。這是微軟官方文檔上的一句原話。其實(shí)將這句話進(jìn)行分解,可以找到兩個(gè)關(guān)鍵點(diǎn)。一是在不用斷開(kāi)當(dāng)前連接的情況下實(shí)現(xiàn)Web服務(wù)器之間的轉(zhuǎn)換。二是Web服務(wù)器之間平均分布請(qǐng)求這是一個(gè)相對(duì)的概念。換句話說(shuō),不可能是多臺(tái)服務(wù)器的負(fù)荷量是相等的。而是可以根據(jù)一定的規(guī)則進(jìn)行調(diào)整。另外Forefront還可以檢測(cè)脫機(jī)的服務(wù)器,并實(shí)現(xiàn)故障轉(zhuǎn)移等相關(guān)的工作。在這里筆者結(jié)合自己的工作靜態(tài),談?wù)勂浞?wù)器負(fù)載均衡的主要實(shí)現(xiàn)方式。筆者認(rèn)為,在了解這些主要實(shí)現(xiàn)方式的時(shí)候,各位讀者主要關(guān)注其相同點(diǎn)與差異。因?yàn)樵诟魑蛔x者自己配制時(shí),需要根據(jù)企業(yè)的實(shí)際情況來(lái)選擇合適自己的實(shí)現(xiàn)方式。總的來(lái)說(shuō),F(xiàn)orefront的Web服務(wù)器發(fā)布負(fù)載均衡的配置難度并不大。其主要的難點(diǎn)還在于選擇合適企業(yè)的實(shí)現(xiàn)方式。
在Forefront安全網(wǎng)關(guān)中,關(guān)于Web負(fù)載均衡主要有三種實(shí)現(xiàn)方式,分別為基于源IP的負(fù)載均衡、機(jī)遇Cookie的負(fù)載均衡和循環(huán)機(jī)制。在后續(xù)的內(nèi)容中,筆者會(huì)對(duì)這三種方式進(jìn)行分析,并舉例說(shuō)明其主要的適用場(chǎng)合。希望這些內(nèi)容能夠?qū)Ω魑贿x擇合適的實(shí)現(xiàn)方式有所幫助。
***種方式是基于IP的負(fù)載平衡或者IP關(guān)聯(lián)。簡(jiǎn)單的說(shuō),這就是將客戶端的IP地址與服務(wù)器相關(guān)聯(lián)。如筆者在文章一開(kāi)始就提到了一個(gè)案例。雖然兩個(gè)服務(wù)器之間的內(nèi)容是相同的,但是在權(quán)限上可能有所差別。此時(shí)可以將某些特定的客戶端IP地址進(jìn)行指定,其可以?xún)?yōu)先訪問(wèn)哪一臺(tái)服務(wù)器,或者只允許訪問(wèn)哪一臺(tái)服務(wù)器。這種方式往往有安全方面的考慮。不過(guò)需要注意的是,這種方式并不支持所有的服務(wù)器負(fù)載均衡。如根據(jù)筆者的了解,OutlooK客戶端就不支持這種方式。為此如果需要采用這種負(fù)載均衡的實(shí)現(xiàn)手段,管理員一定要事先確認(rèn),所采取的應(yīng)用能夠支持這種方式。
第二種方式是基于Cookie的負(fù)載平衡或這關(guān)聯(lián)。簡(jiǎn)單的說(shuō),這就是指用戶會(huì)話語(yǔ)服務(wù)器進(jìn)行關(guān)聯(lián)。這種方式有一個(gè)特點(diǎn),即當(dāng)重新啟動(dòng)Web服務(wù)器時(shí),會(huì)話關(guān)聯(lián)仍然可以提供可靠的關(guān)聯(lián)。或者說(shuō),F(xiàn)orefront 安全網(wǎng)關(guān)可以確保用戶在一次路由到特定應(yīng)用服務(wù)器后繼續(xù)使用這個(gè)服務(wù)器。舉一個(gè)簡(jiǎn)單的例子。如上圖所示,現(xiàn)在某個(gè)用戶已經(jīng)連接到了Web服務(wù)器A。此時(shí)由于某種特殊情況,管理員將Web服務(wù)器A重新啟動(dòng)了。在重新啟動(dòng)后,會(huì)話關(guān)聯(lián)仍然可以提供可靠的關(guān)聯(lián)。為此在一些特定的應(yīng)用中,往往建立采用會(huì)話關(guān)聯(lián)。如某些應(yīng)用程序,特別強(qiáng)調(diào)會(huì)話的重要性。如淘寶網(wǎng)站。在淘寶網(wǎng)中有購(gòu)物車(chē)的概念。此時(shí)即使用戶在不同的網(wǎng)頁(yè)之間進(jìn)行切換,但是購(gòu)物車(chē)中的內(nèi)容能夠保證是自己剛才采購(gòu)的。這主要就是會(huì)話在其中起作用。對(duì)于類(lèi)似的應(yīng)用,就需要采用這種機(jī)遇Cookie的負(fù)載平衡或者關(guān)聯(lián)。
第三種方式是循環(huán)機(jī)制。這個(gè)機(jī)制主要是在Web服務(wù)器成員之間平均分布來(lái)自不同的IP地址的請(qǐng)求。循環(huán)機(jī)制的主要特點(diǎn),是能夠確保在聯(lián)機(jī)服務(wù)器之間平均分布針對(duì)由Web應(yīng)用程序的用戶請(qǐng)求。而且這種分布機(jī)制在故障轉(zhuǎn)移期間也能夠保持。而且當(dāng)發(fā)生故障轉(zhuǎn)移時(shí),系統(tǒng)能夠檢測(cè)沒(méi)有響應(yīng)的服務(wù)器,并在可用服務(wù)器之間進(jìn)行分布均衡。簡(jiǎn)單的說(shuō),循環(huán)機(jī)制其會(huì)循環(huán)的檢查服務(wù)器的可用性。當(dāng)發(fā)現(xiàn)用戶連接的某臺(tái)服務(wù)器不可用或者非常繁忙時(shí),會(huì)馬上中斷用戶的連接,并將其連接到可用的服務(wù)器上。而不管用戶當(dāng)前的會(huì)話狀態(tài)如何。這種方式有缺陷也有優(yōu)點(diǎn)。缺陷是用戶當(dāng)前會(huì)話的相關(guān)信息(如果沒(méi)有保存)則可能會(huì)丟失。因?yàn)榇藭r(shí)相關(guān)信息還是保存在內(nèi)存中。當(dāng)會(huì)話強(qiáng)制關(guān)閉時(shí),相關(guān)信息就會(huì)遺失。而優(yōu)點(diǎn)是能夠提供更高的性能。如現(xiàn)在某個(gè)用戶在訪問(wèn)某個(gè)網(wǎng)頁(yè),其是連接在Web服務(wù)器1訪問(wèn)的。當(dāng)其轉(zhuǎn)向到另外一個(gè)網(wǎng)頁(yè)時(shí),此時(shí)這個(gè)網(wǎng)頁(yè)的訪問(wèn)量非常的大,基本上都集中在服務(wù)器1。而這個(gè)網(wǎng)頁(yè)的Web服務(wù)器2訪問(wèn)量則比較小。在這種情況下,如果采用循環(huán)機(jī)制的話,會(huì)將這個(gè)客戶的請(qǐng)求重新定位到服務(wù)器2。目的就是為了給這個(gè)用戶提供更好的性能。可是問(wèn)題是,現(xiàn)在換了一個(gè)服務(wù)器,就相當(dāng)于新建了一個(gè)會(huì)話 ,原先的會(huì)話也就中斷了。其實(shí)這種情況在實(shí)際工作中也比較多建。如我們打1000號(hào)的時(shí)候,剛開(kāi)始可能連接的是湖南長(zhǎng)沙的站點(diǎn)(可能這個(gè)站點(diǎn)比較空)。然后再交接線員轉(zhuǎn)接到1000號(hào)的其他部門(mén),此時(shí)這個(gè)1000號(hào)站點(diǎn)可能就不是長(zhǎng)沙了(當(dāng)轉(zhuǎn)接的目標(biāo)部門(mén)比較忙時(shí)就會(huì)自動(dòng)轉(zhuǎn)接到其它部門(mén))。此時(shí)由于相關(guān)信息比較獨(dú)立,即使當(dāng)前會(huì)話中斷了,丟失相關(guān)信息影響也不是很大。或者說(shuō),相對(duì)于漫長(zhǎng)的等待時(shí)間來(lái)說(shuō),這個(gè)當(dāng)前會(huì)話信息的丟失所造成的影響可以忽略不計(jì)。
可見(jiàn)不同的實(shí)現(xiàn)方式其目的雖然相同,但是在細(xì)節(jié)上仍然有很大的差異。這導(dǎo)致其應(yīng)用場(chǎng)合也有所不同。總之,基于IP的負(fù)載平衡或者基于Cookies的負(fù)載均衡,其主要的特點(diǎn)是確保用戶在一次路由到特定應(yīng)用服務(wù)器后(如Web服務(wù)器1)后續(xù)訪問(wèn)繼續(xù)路由到這個(gè)服務(wù)器。而循環(huán)機(jī)制的話,則可能會(huì)因?yàn)樘囟ㄙY源訪問(wèn)量的變化,在可用的Web服務(wù)器之間進(jìn)行不停的轉(zhuǎn)換。抓住這兩個(gè)主要的差異點(diǎn),然后結(jié)合企業(yè)的實(shí)際情況,來(lái)判斷到底該采用哪種實(shí)現(xiàn)方式。
【編輯推薦】
- iPad變身Web服務(wù)器 應(yīng)用軟件或免費(fèi)
- Web服務(wù)器訪問(wèn)失敗故障處理技巧
- 拒當(dāng)小白!Web服務(wù)器選購(gòu)注意事項(xiàng)


















