管用的負(fù)載均衡的實(shí)現(xiàn),絕大多數(shù)使用的是負(fù)載均衡器,那么對(duì)于負(fù)載均衡器我們又了解多少呢?在這里,我們不會(huì)介紹產(chǎn)品相關(guān)的內(nèi)容,主要對(duì)它在網(wǎng)絡(luò)中的作用,性能,工作方式,特點(diǎn)和原理等方面做一個(gè)簡(jiǎn)述,希望對(duì)大家理解這方面的內(nèi)容,提供一些素材,
簡(jiǎn)談負(fù)載均衡器
。負(fù)載均衡器
負(fù)載均衡器通過(guò)虛擬IP地址方法,解決了輪流排程所面臨的許多問(wèn)題。使用了負(fù)載均衡器集群系統(tǒng),在外部看來(lái),像是具有一個(gè)IP地址的單一服務(wù)器一樣,當(dāng)然,這個(gè)IP地址是虛擬的,它映射了集群中的每一臺(tái)機(jī)器的地址。所以,在某種程度上,負(fù)載均衡器是將整個(gè)集群的IP地址報(bào)漏給外部網(wǎng)絡(luò)。
當(dāng)請(qǐng)求到達(dá)負(fù)載均衡器時(shí),它會(huì)重寫(xiě)該請(qǐng)求的頭文件,并將之指定到集群中的機(jī)器上。如果某臺(tái)機(jī)器被從集群中移除了,請(qǐng)求不會(huì)別發(fā)往已經(jīng)不存在的服務(wù)器上,因?yàn)樗械臋C(jī)器表面上都具有同一個(gè)IP地址,即使集群中的某個(gè)節(jié)點(diǎn)被移除了,該地址也不會(huì)發(fā)生變化。而且,internet上緩存的DNS條目也不再是問(wèn)題了。當(dāng)返回一個(gè)應(yīng)答時(shí),客戶端看到的只是從負(fù)載均衡器上所返回的結(jié)果。也就是說(shuō),客戶端操作的對(duì)象是負(fù)載均衡器,對(duì)于其更后端的操作,對(duì)客戶端來(lái)講,是完全透明的。
負(fù)載均衡器的優(yōu)點(diǎn)
◆服務(wù)器一致性負(fù)載均衡器讀取客戶端發(fā)出的每一個(gè)請(qǐng)求中所包含的cookies或url解釋。基于所讀出的這些信息,負(fù)載均衡器就可以重寫(xiě)報(bào)頭并將請(qǐng)求發(fā)往集群中合適的節(jié)點(diǎn)上,該節(jié)點(diǎn)維護(hù)著相應(yīng)客戶端請(qǐng)求的會(huì)話信息。在HTTP通信中,負(fù)載均衡器可以提供服務(wù)器一致性,但并不是通過(guò)一個(gè)安全的途徑(例如:HTTPS)來(lái)提供這種服務(wù)。當(dāng)消息被加密后(SSL),負(fù)載均衡器就不能讀出隱藏在其中的會(huì)話信息。
◆通過(guò)故障恢復(fù)機(jī)制獲得高可靠性故障恢復(fù)發(fā)生在當(dāng)集群中某個(gè)節(jié)點(diǎn)不能處理請(qǐng)求,需將請(qǐng)求重新導(dǎo)向到其他節(jié)點(diǎn)時(shí),
電腦資料
《簡(jiǎn)談負(fù)載均衡器》(http://www.lotusphilosophies.com)。主要有兩種故障恢復(fù):◆請(qǐng)求級(jí)故障恢復(fù)。當(dāng)集群中的一個(gè)節(jié)點(diǎn)不能處理請(qǐng)求時(shí)(通常是由于down機(jī)),請(qǐng)求被發(fā)送到其他節(jié)點(diǎn)。當(dāng)然,在導(dǎo)向到其他節(jié)點(diǎn)的同時(shí),保存在原節(jié)點(diǎn)上的會(huì)話信息將會(huì)丟失。
◆透明會(huì)話故障恢復(fù)。當(dāng)一個(gè)引用失敗后,負(fù)載均衡器會(huì)將之發(fā)送到集群中其他的節(jié)點(diǎn)上,以完成操作,這一點(diǎn)對(duì)用戶來(lái)說(shuō)是透明的。由于透明會(huì)話故障恢復(fù)需要節(jié)點(diǎn)具備相應(yīng)的操作信息,因此為了實(shí)現(xiàn)該功能,集群中的所有節(jié)點(diǎn)必須具有公共存儲(chǔ)區(qū)域或通用數(shù)據(jù)庫(kù),存儲(chǔ)會(huì)話信息數(shù)據(jù),以提供每個(gè)節(jié)點(diǎn)在進(jìn)行單獨(dú)進(jìn)程會(huì)話故障恢復(fù)時(shí)所需要的操作信息。
◆統(tǒng)計(jì)計(jì)量。既然所有的Web應(yīng)用請(qǐng)求都必須經(jīng)過(guò)負(fù)載均衡系統(tǒng),那么系統(tǒng)就可以確定活動(dòng)會(huì)話的數(shù)量,在任何實(shí)例訪問(wèn)中的活動(dòng)會(huì)話的數(shù)目,應(yīng)答的次數(shù),高峰負(fù)載次數(shù),以及在高峰期和低谷期的會(huì)話的數(shù)目,還有其他更多的。所有的這些統(tǒng)計(jì)信息都可以被很好的用來(lái)調(diào)整整個(gè)系統(tǒng)的性能。
負(fù)載均衡器的缺點(diǎn)
◆硬件路由的缺點(diǎn)在于費(fèi)用。復(fù)雜性以及單點(diǎn)失敗的。由于所有的請(qǐng)求均是通過(guò)一個(gè)單一的硬件負(fù)載均衡器來(lái)傳遞,因此,負(fù)載均衡器上的任何故障都將導(dǎo)致整個(gè)站點(diǎn)的崩潰。
HTTPS請(qǐng)求的負(fù)載均衡
正如上面所提到的,很難在那些來(lái)自HTTPS的請(qǐng)求上進(jìn)行負(fù)載均衡和會(huì)話信息維護(hù)處理。因?yàn),這些請(qǐng)求中的信息已經(jīng)被加密了。負(fù)載均衡器沒(méi)有能力處理這類(lèi)請(qǐng)求。不過(guò),這里有兩種方法可以解決這一問(wèn)題:
◆代理網(wǎng)絡(luò)服務(wù)器:
代理服務(wù)器位于服務(wù)器集群之前,首先由它接受所有的請(qǐng)求并對(duì)之進(jìn)行解密,然后將這些處理后的請(qǐng)求根據(jù)頭信息重新發(fā)往相應(yīng)的節(jié)點(diǎn)上,這種方式不需要硬件上的支持,但會(huì)增加代理服務(wù)器的額外的負(fù)擔(dān)。
◆硬件SSL解碼器:
硬件SSL解碼器,則是在請(qǐng)求到達(dá)負(fù)載均衡器之前,先經(jīng)由它進(jìn)行解密處理。這種方式比代理服務(wù)器的處理速度要快捷一些。但代價(jià)也高,而且實(shí)現(xiàn)比較復(fù)雜。