不同基礎(chǔ)負(fù)載均衡技術(shù)的總結(jié)筆記
在介紹負(fù)載均衡技術(shù)的時候,我們可以從多角度,多方面來總結(jié)歸納相關(guān)的知識。不同的歸納方式可以幫我們理解和記憶這些內(nèi)容。那么,現(xiàn)在我們來以不同的基準(zhǔn)方式來對負(fù)載均衡技術(shù)進(jìn)行一個總結(jié)性介紹。希望能幫助大家了解這些知識。
1.基于特定服務(wù)器軟件的負(fù)載均衡技術(shù)
這種技術(shù)是利用網(wǎng)絡(luò)協(xié)議的重定向功能來實(shí)現(xiàn)負(fù)載均衡的,例如在Http協(xié)議中支持定位指令,接收到這個指令的瀏覽器將自動重定向到該指令指明的另一個 URL上。由于和執(zhí)行服務(wù)請求相比,發(fā)送定位指令對Web服務(wù)器的負(fù)載要小得多,因此可以根據(jù)這個功能來設(shè)計一種負(fù)載均衡的服務(wù)器。一旦Web服務(wù)器認(rèn)為自己的負(fù)載較大,它就不再直接發(fā)送回瀏覽器請求的網(wǎng)頁,而是送回一個定位指令,讓瀏覽器去服務(wù)器集群中的其他服務(wù)器上獲得所需要的網(wǎng)頁。在這種方式下,服務(wù)器本身必須支持這種功能,然而具體實(shí)現(xiàn)起來卻有很多困難,例如一臺服務(wù)器如何能保證它重定向過的服務(wù)器是比較空閑的,并且不會再次發(fā)送定位指令?
定位指令和瀏覽器都沒有這方面的支持能力,這樣很容易在瀏覽器上形成一種死循環(huán)。因此這種方式實(shí)際應(yīng)用當(dāng)中并不多見,使用這種方式實(shí)現(xiàn)的服務(wù)器集群軟件也較少。
2.基于DNS的負(fù)載均衡技術(shù)
DNS負(fù)載均衡技術(shù)是最早的負(fù)載均衡解決方案,它是通過DNS服務(wù)中的隨機(jī)名字解析來實(shí)現(xiàn)的,在DNS服務(wù)器中,可以為多個不同的地址配置同一個名字,而最終查詢這個名字的客戶機(jī)將在解析這個名字時得到其中的一個地址。因此,對于同一個名字,不同的客戶機(jī)會得到不同的地址,它們也就訪問不同地址上的Web 服務(wù)器,從而達(dá)到負(fù)載均衡的目的。
這種技術(shù)的優(yōu)點(diǎn)是,實(shí)現(xiàn)簡單、實(shí)施容易、成本低、適用于大多數(shù)TCP/IP應(yīng)用;但是,其缺點(diǎn)也非常明顯,首先這種方案不是真正意義上的負(fù)載均衡,DNS 服務(wù)器將Http請求平均地分配到后臺的Web服務(wù)器上,而不考慮每個Web服務(wù)器當(dāng)前的負(fù)載情況;如果后臺的Web服務(wù)器的配置和處理能力不同,最慢的 Web服務(wù)器將成為系統(tǒng)的瓶頸,處理能力強(qiáng)的服務(wù)器不能充分發(fā)揮作用;其次未考慮容錯,如果后臺的某臺Web服務(wù)器出現(xiàn)故障,DNS服務(wù)器仍然會把DNS 請求分配到這臺故障服務(wù)器上,導(dǎo)致不能響應(yīng)客戶端。最后一點(diǎn)是致命的,有可能造成相當(dāng)一部分客戶不能享受Web服務(wù),并且由于DNS緩存的原因,所造成的后果要持續(xù)相當(dāng)長一段時間(一般DNS的刷新周期約為24小時)。所以在國外最新的建設(shè)中心Web站點(diǎn)方案中,已經(jīng)很少采用這種方案了。
3.基于四層交換技術(shù)的負(fù)載均衡技術(shù)
這種技術(shù)是在第四層交換機(jī)上設(shè)置Web服務(wù)的虛擬IP地址,這個虛擬IP地址是DNS服務(wù)器中解析到的Web服務(wù)器的IP地址,對客戶端是可見的。當(dāng)客戶訪問此Web應(yīng)用時,客戶端的Http請求會先被第四層交換機(jī)接收到,它將基于第四層交換技術(shù)實(shí)時檢測后臺Web服務(wù)器的負(fù)載,根據(jù)設(shè)定的算法進(jìn)行快速交換。常見的算法有輪詢、加權(quán)、最少連接、隨機(jī)和響應(yīng)時間等。
4.基于七層交換技術(shù)的負(fù)載均衡技術(shù)
基于第七層交換的負(fù)載均衡技術(shù)主要用于實(shí)現(xiàn)Web應(yīng)用的負(fù)載平衡和服務(wù)質(zhì)量保證。它與第四層交換機(jī)比較起來有許多優(yōu)勢:第七層交換機(jī)不僅能檢查 TCP/IP數(shù)據(jù)包的TCP和UDP端口號,從而轉(zhuǎn)發(fā)給后臺的某臺服務(wù)器來處理,而且能從會話層以上來分析Http請求的URL,根據(jù)URL的不同將不同的Http請求交給不同的服務(wù)器來處理(可以具體到某一類文件,直至某一個文件),甚至同一個URL請求可以讓多個服務(wù)器來響應(yīng)以分擔(dān)負(fù)載(當(dāng)客戶訪問某一個URL,發(fā)起Http請求時,它實(shí)際上要與服務(wù)器建立多個會話連接,得到多個對象,例如.txt/.gif/.jpg文檔,當(dāng)這些對象都下載到本地后,才組成一個完整的頁面)。
5.站點(diǎn)鏡像技術(shù)
以上幾種負(fù)載均衡技術(shù)主要應(yīng)用于一個站點(diǎn)內(nèi)的服務(wù)器群,但是由于一個站點(diǎn)接入Internet的帶寬是有限的,因此可以把負(fù)載均衡技術(shù)開始應(yīng)用于不同的網(wǎng)絡(luò)站點(diǎn)之間,這就是站點(diǎn)鏡像技術(shù),站點(diǎn)鏡像技術(shù)實(shí)際上利用了DNS負(fù)載均衡技術(shù)。