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