亚洲午夜无码久久,今天高清视频免费观看,欧美一夜爽爽爽爽爽爽,在线亚洲欧美日韩精品专区

行業(yè)資訊

  • 首頁
  • 新聞中心
  • 行業(yè)資訊

實(shí)現(xiàn)多服務(wù)器負(fù)載均衡得使用網(wǎng)絡(luò)地址轉(zhuǎn)換-宇眾網(wǎng)絡(luò)


2021年01月11日

很早的負(fù)載均衡技術(shù)是通過DNS來實(shí)現(xiàn)的,在DNS中為多個(gè)地址配置同一個(gè)名字,因而查詢這個(gè)名字的客戶機(jī)將得到其中一個(gè)地址
,從而使得不同的客戶訪問不同的服務(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ù)器本身會(huì)成為服務(wù)的瓶頸。 
支持負(fù)載均衡的地址轉(zhuǎn)換網(wǎng)關(guān)中可以將一個(gè)外部IP地址映射為多個(gè)內(nèi)部IP地址,對每次TCP連接請求動(dòng)態(tài)使用其中一個(gè)內(nèi)部地址,
達(dá)到負(fù)載均衡的目的[3]。很多硬件廠商將這種技術(shù)集成在他們的交換機(jī)中,作為他們第四層交換的一種功能來實(shí)現(xiàn),一般采用隨
機(jī)選擇、根據(jù)服務(wù)器的連接數(shù)量或者響應(yīng)時(shí)間進(jìn)行選擇的負(fù)載均衡策略來分配負(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)化的均衡策略來實(shí)現(xiàn)后端服務(wù)器負(fù)載分擔(dān)的很優(yōu)狀態(tài)。 

2. 負(fù)載均衡策略 
為了將負(fù)載均勻的分配給內(nèi)部的多個(gè)服務(wù)器上,就需求應(yīng)用一定的負(fù)載均衡策略。傳統(tǒng)的負(fù)載均衡策略并沒有考慮到服務(wù)請求的不
同類型、后臺服務(wù)器的不同能力以及隨機(jī)選擇造成的負(fù)載分配不均勻等問題。為了使得負(fù)載分配十分均勻,就要應(yīng)用能夠正確反映
各個(gè)服務(wù)器CPU及I/O狀態(tài)的負(fù)載均衡策略[4]。 
客戶發(fā)起的服務(wù)請求類型是多種多樣的,按照對處理器、網(wǎng)絡(luò)和I/O的資源要求,可以簡單的將它們分為兩個(gè)不同類別,以便應(yīng)用
不同的處理策略: 
靜態(tài)文檔請求:例如普通的文本、圖象等靜態(tài)多媒體數(shù)據(jù),它們對處理器負(fù)載影響不大,造成的磁盤I/O負(fù)載與文檔的大小成正比
,主要對網(wǎng)絡(luò)I/O造成壓力。 
動(dòng)態(tài)文檔請求:更為常見的請求常常需求服務(wù)器預(yù)先進(jìn)行處理,例如搜尋數(shù)據(jù)庫、壓縮解壓縮多媒體文件等,這些請求需求相當(dāng)
大的處理器和磁盤I/O資源。 
對于靜態(tài)文檔,每個(gè)服務(wù)進(jìn)程占用大致相同的系統(tǒng)資源,因此就可以使用進(jìn)程數(shù)來表示系統(tǒng)負(fù)載。而動(dòng)態(tài)文檔服務(wù)需求進(jìn)行額外
的處理,其占用的系統(tǒng)資源就超過處理靜態(tài)請求,因此需求使用一個(gè)權(quán)重來表示。這樣一個(gè)很簡單的服務(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ù)相對于靜態(tài)文檔服務(wù)的
權(quán)重,可以在10到100之間進(jìn)行選擇。 
在這個(gè)公式中沒有考慮服務(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ù)器本身的硬件能力來設(shè)置。而b表示超出正常負(fù)載時(shí)用來限
制分配給服務(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)連接起來的多臺FreeBSD系統(tǒng)組成。每臺后端服務(wù)器上運(yùn)行一個(gè)守護(hù)進(jìn)程來動(dòng)態(tài)獲得自己
的負(fù)載狀態(tài),而使用FreeBSD實(shí)現(xiàn)的中心控制網(wǎng)關(guān)就通過這些守護(hù)進(jìn)程刷新各個(gè)服務(wù)器的負(fù)載,以進(jìn)行正確的負(fù)載分配。 
 


客服