-
互聯(lián)網(wǎng)安全法,互聯(lián)網(wǎng)凈網(wǎng)行動(dòng)
-
”凈網(wǎng)2020”落實(shí)好維護(hù)網(wǎng)絡(luò)安全責(zé)任
-
關(guān)于端午節(jié)放假通知-宇眾網(wǎng)絡(luò)
-
宇眾網(wǎng)絡(luò)春節(jié)放假通知
-
關(guān)于公司收款銀行賬戶變更通知函-宇眾網(wǎng)絡(luò)
-
關(guān)于網(wǎng)上有人冒充我公司名義進(jìn)行詐騙的公告。
-
關(guān)于端午節(jié)放假通知,節(jié)日放假,但是我們業(yè)務(wù)不“放假”-宇眾網(wǎng)絡(luò)
-
工信部進(jìn)一步加強(qiáng)未備案網(wǎng)站管理工作的通知-宇眾網(wǎng)絡(luò)
-
關(guān)于東莞市宇眾網(wǎng)絡(luò)科技有限公司香港數(shù)據(jù)中心(香港機(jī)房)路由優(yōu)化通知
-
宇眾網(wǎng)絡(luò)慶祝五·一勞動(dòng)節(jié)快樂(lè)
-
東莞東城機(jī)房網(wǎng)絡(luò)升級(jí)通知
-
臨近過(guò)年,互聯(lián)網(wǎng)IDC貴圈也有被騙的,請(qǐng)認(rèn)準(zhǔn)宇眾網(wǎng)絡(luò)公司官方聯(lián)系方式
-
我司已獲得ISP/ICP/IDC三證資格,更好的為客戶服務(wù)
-
關(guān)于浙江金華高防機(jī)房網(wǎng)絡(luò)線路切割通知
-
工信部近日下發(fā)關(guān)于進(jìn)一步規(guī)范域名備案工作的通知
行業(yè)資訊
- 首頁(yè)
- 新聞中心
- 行業(yè)資訊
實(shí)現(xiàn)多服務(wù)器負(fù)載均衡得使用網(wǎng)絡(luò)地址轉(zhuǎn)換-宇眾網(wǎng)絡(luò)
很早的負(fù)載均衡技術(shù)是通過(guò)DNS來(lái)實(shí)現(xiàn)的,在DNS中為多個(gè)地址配置同一個(gè)名字,因而查詢這個(gè)名字的客戶機(jī)將得到其中一個(gè)地址
,從而使得不同的客戶訪問(wèn)不同的服務(wù)器,達(dá)到負(fù)載均衡的目的[1]。DNS負(fù)載均衡是一種簡(jiǎn)單而有效的方法,但是它不能區(qū)分服務(wù)
器的差異,也不能反映服務(wù)器的當(dāng)前運(yùn)行狀態(tài)。
反向代理服務(wù)器可以將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部Web服務(wù)器,如果代理服務(wù)器能夠?qū)⒄?qǐng)求均勻轉(zhuǎn)發(fā)給多臺(tái)內(nèi)部服務(wù)器,就能達(dá)到負(fù)載均衡的
目的[2]。反向代理方式下能應(yīng)用優(yōu)化的負(fù)載均衡策略,每次訪問(wèn)很空閑的內(nèi)部服務(wù)器來(lái)提供服務(wù)。但是隨著并發(fā)連接數(shù)量的增家,
代理服務(wù)器本身的負(fù)載也變得非常大,很后反向代理服務(wù)器本身會(huì)成為服務(wù)的瓶頸。
支持負(fù)載均衡的地址轉(zhuǎn)換網(wǎng)關(guān)中可以將一個(gè)外部IP地址映射為多個(gè)內(nèi)部IP地址,對(duì)每次TCP連接請(qǐng)求動(dòng)態(tài)使用其中一個(gè)內(nèi)部地址,
達(dá)到負(fù)載均衡的目的[3]。很多硬件廠商將這種技術(shù)集成在他們的交換機(jī)中,作為他們第四層交換的一種功能來(lái)實(shí)現(xiàn),一般采用隨
機(jī)選擇、根據(jù)服務(wù)器的連接數(shù)量或者響應(yīng)時(shí)間進(jìn)行選擇的負(fù)載均衡策略來(lái)分配負(fù)載。然而硬件實(shí)現(xiàn)的負(fù)載控制器靈活性不強(qiáng),不能
支持更優(yōu)化的負(fù)載均衡策略和更復(fù)雜的應(yīng)用協(xié)議。
除了這三種負(fù)載均衡方式之外,有的協(xié)議內(nèi)部支持與負(fù)載均衡相關(guān)的功能,例如HTTP協(xié)議中的重定向能力等,但它依賴于特定協(xié)
議,因此使用范圍有限。根據(jù)現(xiàn)有的這些負(fù)載均衡技術(shù),我們選擇了使用軟件方式實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的負(fù)載均衡的方式,以彌補(bǔ)硬
件負(fù)載均衡器的不靈活,并應(yīng)用優(yōu)化的均衡策略來(lái)實(shí)現(xiàn)后端服務(wù)器負(fù)載分擔(dān)的很優(yōu)狀態(tài)。
2. 負(fù)載均衡策略
為了將負(fù)載均勻的分配給內(nèi)部的多個(gè)服務(wù)器上,就需求應(yīng)用一定的負(fù)載均衡策略。傳統(tǒng)的負(fù)載均衡策略并沒(méi)有考慮到服務(wù)請(qǐng)求的不
同類型、后臺(tái)服務(wù)器的不同能力以及隨機(jī)選擇造成的負(fù)載分配不均勻等問(wèn)題。為了使得負(fù)載分配十分均勻,就要應(yīng)用能夠正確反映
各個(gè)服務(wù)器CPU及I/O狀態(tài)的負(fù)載均衡策略[4]。
客戶發(fā)起的服務(wù)請(qǐng)求類型是多種多樣的,按照對(duì)處理器、網(wǎng)絡(luò)和I/O的資源要求,可以簡(jiǎn)單的將它們分為兩個(gè)不同類別,以便應(yīng)用
不同的處理策略:
靜態(tài)文檔請(qǐng)求:例如普通的文本、圖象等靜態(tài)多媒體數(shù)據(jù),它們對(duì)處理器負(fù)載影響不大,造成的磁盤I/O負(fù)載與文檔的大小成正比
,主要對(duì)網(wǎng)絡(luò)I/O造成壓力。
動(dòng)態(tài)文檔請(qǐng)求:更為常見(jiàn)的請(qǐng)求常常需求服務(wù)器預(yù)先進(jìn)行處理,例如搜尋數(shù)據(jù)庫(kù)、壓縮解壓縮多媒體文件等,這些請(qǐng)求需求相當(dāng)
大的處理器和磁盤I/O資源。
對(duì)于靜態(tài)文檔,每個(gè)服務(wù)進(jìn)程占用大致相同的系統(tǒng)資源,因此就可以使用進(jìn)程數(shù)來(lái)表示系統(tǒng)負(fù)載。而動(dòng)態(tài)文檔服務(wù)需求進(jìn)行額外
的處理,其占用的系統(tǒng)資源就超過(guò)處理靜態(tài)請(qǐng)求,因此需求使用一個(gè)權(quán)重來(lái)表示。這樣一個(gè)很簡(jiǎn)單的服務(wù)器負(fù)載表示公式就為:
其中L為服務(wù)器的負(fù)載,Ns為靜態(tài)文檔服務(wù)進(jìn)程數(shù),Nd為動(dòng)態(tài)文檔服務(wù)進(jìn)程數(shù),而a為每個(gè)動(dòng)態(tài)文檔服務(wù)相對(duì)于靜態(tài)文檔服務(wù)的
權(quán)重,可以在10到100之間進(jìn)行選擇。
在這個(gè)公式中沒(méi)有考慮服務(wù)器硬件的限制,當(dāng)達(dá)到硬件限制的時(shí)候,由于資源緊張,服務(wù)器的負(fù)載就會(huì)明顯增家。例如由于服務(wù)
器內(nèi)存大小的限制,一些進(jìn)程就要被交換到硬盤上,使得系統(tǒng)負(fù)載迅速增家。考慮了系統(tǒng)硬件限制,則服務(wù)器的負(fù)載可以表示為:
新增家的參數(shù) Ll表示這個(gè)服務(wù)器普通負(fù)荷的限度,它要根據(jù)每個(gè)服務(wù)器本身的硬件能力來(lái)設(shè)置。而b表示超出正常負(fù)載時(shí)用來(lái)限
制分配給服務(wù)器任務(wù)的權(quán)重,應(yīng)該設(shè)置為大于Ll的數(shù)值,以表示硬件限制作用。通常在一個(gè)服務(wù)器集群中,硬件設(shè)置越差的服務(wù)
器這個(gè)權(quán)重越要設(shè)置的大,以避免在所有的服務(wù)器都超負(fù)載運(yùn)行時(shí),硬件很差的服務(wù)器反而負(fù)載很高。因此b是和本服務(wù)器硬件
限制Ll成反比的,則b可以設(shè)置為:
Llmax為服務(wù)器集群中很高硬件配置的服務(wù)器的Ll值。當(dāng)確定了每個(gè)服務(wù)器的負(fù)載之后,中心控制負(fù)載分配的服務(wù)器就能將負(fù)載
正確的分發(fā)給很空閑的服務(wù)器,從而不會(huì)象其他的負(fù)載分配策略那樣會(huì)導(dǎo)致負(fù)載分配不均勻的情況。
3. 實(shí)現(xiàn)方法及實(shí)驗(yàn)結(jié)果
我們的服務(wù)器系統(tǒng)由使用快速以太網(wǎng)連接起來(lái)的多臺(tái)FreeBSD系統(tǒng)組成。每臺(tái)后端服務(wù)器上運(yùn)行一個(gè)守護(hù)進(jìn)程來(lái)動(dòng)態(tài)獲得自己
的負(fù)載狀態(tài),而使用FreeBSD實(shí)現(xiàn)的中心控制網(wǎng)關(guān)就通過(guò)這些守護(hù)進(jìn)程刷新各個(gè)服務(wù)器的負(fù)載,以進(jìn)行正確的負(fù)載分配。