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