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