談:負(fù)載平衡服務(wù)器的使用
負(fù)載均衡應(yīng)用之初,就是為了緩解集群中單一服務(wù)器的壓力。那么我們現(xiàn)在就來談?wù)勜?fù)載平衡服務(wù)器的問題。伴隨著科技技術(shù)的不斷進(jìn)步,我們的產(chǎn)品也是不斷更新和強(qiáng)大的。那么負(fù)載平衡服務(wù)器的使用也是發(fā)揮了更多的作用,通過用戶的要求,制定不同的方案計(jì)劃,現(xiàn)在讓我們看一看這個(gè)產(chǎn)品的使用。
隨著互聯(lián)網(wǎng)的迅速發(fā)展,應(yīng)用服務(wù)器工作量的日益增加,對(duì)負(fù)載均衡技術(shù)的需求也就越來越多。而在眾多的負(fù)載平衡技術(shù)中,網(wǎng)絡(luò)負(fù)載平衡技術(shù)由于其優(yōu)勢(shì),成為了目前使用最為廣泛的技術(shù),具體的產(chǎn)品也最為廣泛:如F5的BIG-IP、RadWare的Web Server Director、IBM的WebSphere Edge Server、TriLoad負(fù)載平衡服務(wù)器等。
目前主要有三種網(wǎng)絡(luò)負(fù)載平衡轉(zhuǎn)發(fā)技術(shù),分別是網(wǎng)絡(luò)地址轉(zhuǎn)換、直接路由和IP隧道技術(shù),采用不同的方法將客戶端發(fā)送的包轉(zhuǎn)發(fā)到目的服務(wù)器上,并確保目的服務(wù)器的返回包可以順利到達(dá)客戶端。
◆網(wǎng)絡(luò)地址轉(zhuǎn)換
網(wǎng)絡(luò)地址轉(zhuǎn)換模式
在目標(biāo)網(wǎng)絡(luò)地址轉(zhuǎn)換(DNAT)模式下,提供服務(wù)的IP被定義在平衡服務(wù)器上,應(yīng)用服務(wù)器只需要定義各自的內(nèi)部IP地址,但是必須將負(fù)載平衡服務(wù)器定義為缺省路由,以保證返回客戶端的包經(jīng)過負(fù)載平衡服務(wù)器,完成第二次地址轉(zhuǎn)換后再送回客戶端。
原理:
1. 客戶發(fā)出服務(wù)請(qǐng)求
2. 負(fù)載平衡服務(wù)器接收到請(qǐng)求,將數(shù)據(jù)包中目的IP地址改為選中的應(yīng)用服務(wù)器IP地址,然后重新發(fā)出數(shù)據(jù)包
3. 應(yīng)用服務(wù)器收到后,將應(yīng)答包發(fā)回給負(fù)載平衡服務(wù)器
4. 負(fù)載平衡服務(wù)器收到應(yīng)答包后將其中的源地址改回成服務(wù)IP,發(fā)回客戶端
網(wǎng)絡(luò)地址轉(zhuǎn)換的優(yōu)點(diǎn)是實(shí)際服務(wù)器可以運(yùn)行支持TCP/IP協(xié)議的任意操作系統(tǒng),實(shí)際服務(wù)器可以使用私有地址,只需在平衡服務(wù)器上配置服務(wù)IP地址。而且現(xiàn)在的防火墻都支持地址轉(zhuǎn)換功能,因此,容易為用戶接受。
缺點(diǎn)是網(wǎng)絡(luò)地址轉(zhuǎn)換的性能擴(kuò)展能力有限,因?yàn)檎?qǐng)求包和應(yīng)答包都必須通過平衡服務(wù)器,當(dāng)服務(wù)器的節(jié)點(diǎn)數(shù)量達(dá)到20或更多時(shí),平衡服務(wù)器可能成為整個(gè)系統(tǒng)的瓶頸。因此,這種方式主要適用于網(wǎng)絡(luò)負(fù)載不是很高的場(chǎng)合。
◆直接路由
和那種請(qǐng)求包和應(yīng)答包都必須通過平衡服務(wù)器的網(wǎng)絡(luò)地址轉(zhuǎn)換不同,平衡服務(wù)器在直接路由模式下,將請(qǐng)求調(diào)度到不同的實(shí)際服務(wù)器,實(shí)際服務(wù)器直接將結(jié)果發(fā)回客戶端。在大多數(shù)應(yīng)用中,請(qǐng)求的字節(jié)數(shù)遠(yuǎn)小于應(yīng)答的字節(jié)數(shù),所以與網(wǎng)絡(luò)地址轉(zhuǎn)換相比平衡服務(wù)器能處理更多的請(qǐng)求。采用直接路由能更大程度提高平衡服務(wù)器的最大節(jié)點(diǎn)數(shù)和網(wǎng)絡(luò)吞吐量。甚至于平衡服務(wù)器使用100M全雙工的網(wǎng)卡,系統(tǒng)的最大數(shù)據(jù)吞吐量仍可以超過1Gbps。
直接路由的特點(diǎn)是運(yùn)用網(wǎng)絡(luò)分層原理,通過將目標(biāo)IP包封裝在指定MAC地址的以太網(wǎng)數(shù)據(jù)包中欺騙TCP堆棧,因此實(shí)際服務(wù)器和負(fù)載平衡服務(wù)器必須在同一個(gè)物理網(wǎng)段中,并且在應(yīng)用服務(wù)器上必須將服務(wù)IP定義在loopback虛擬網(wǎng)卡上。
原理:
1. 客戶發(fā)出服務(wù)請(qǐng)求
2. 負(fù)載平衡服務(wù)器接收到請(qǐng)求,將數(shù)據(jù)包中網(wǎng)卡物理地址(MAC)改為選中的應(yīng)用服務(wù)器的MAC地址,然后重新發(fā)出數(shù)據(jù)包
3. 目標(biāo)應(yīng)用服務(wù)器收到后,將應(yīng)答包通過路由器直接發(fā)回客戶端(不經(jīng)過負(fù)載平衡服務(wù)器)
直接路由是最高效,網(wǎng)絡(luò)延時(shí)最小的負(fù)載平衡技術(shù),但是,為達(dá)到MAC地址的欺騙,負(fù)載平衡服務(wù)器和所有應(yīng)用服務(wù)器必須在同一個(gè)物理網(wǎng)段。而且,現(xiàn)在出現(xiàn)操作系統(tǒng)缺省是關(guān)閉這種特性的,如FreeBSD,必須顯示打開相應(yīng)的內(nèi)核開關(guān)才可以。不過,目前的主流操作系統(tǒng),都可以滿足直接路由的需求,如Windows、Linux、AIX、Solaris、FreeBSD等。
直接路由轉(zhuǎn)換模式
◆IP隧道
與直接路由的方法類似,區(qū)別僅僅在于不是通過MAC欺騙來轉(zhuǎn)發(fā)數(shù)據(jù)包,而是通過建立負(fù)載平衡服務(wù)器和應(yīng)用服務(wù)器之間的IP隧道來完成。
因?yàn)檫@些服務(wù)器的連接是通過IP隧道,平衡服務(wù)器和實(shí)際服務(wù)器可以在不同的局域網(wǎng)甚至是廣域網(wǎng)。缺點(diǎn)是所有服務(wù)器必須使用IP隧道(IP封裝)協(xié)議,比直接路由的效率要低,而且,不是所有的操作系統(tǒng)都支持。
在實(shí)際環(huán)境中,需要根據(jù)實(shí)際的情況來選擇采用合適的轉(zhuǎn)發(fā)技術(shù)的產(chǎn)品,甚至在某些場(chǎng)合,需要混合不同的轉(zhuǎn)發(fā)方式。