企業實現服務器負載均衡常見的四種方法

爲了提升服務器的性能和工做負載能力,企業一般會使用DNS服務器、網絡地址轉換等技術來實現多服務器負載均衡,特別是目前企業對外的互聯網Web網站,許多都是經過幾臺服務器來完成服務器訪問的負載均衡。web

 

目前企業使用的所謂「負載均衡服務器」,實際上它是應用系統的一種控制服務器,全部用戶的請求都首先到此服務器,而後由此服務器根據各個實際處理服務器狀態將請求具體分配到某個實際處理服務器中,對外公開的域名與IP地址都是這臺服務器。負載均衡控制與管理軟件安裝在這臺服務器上,這臺服務器通常只作負載均衡任務分配,但不是實際對網絡請求進行處理的服務器。算法

 

1、企業實現Web服務器負載均衡數據庫

 

爲了將負載均勻的分配給內部的多個服務器上,就須要應用必定的負載均衡策略。經過服務器負載均衡設備實現各服務器羣的流量動態負載均衡,並互爲冗餘備份。並要求新系統應有必定的擴展性,如數據訪問量繼續增大,可再添加新的服務器加入負載均衡系統。windows

 

對於WEB服務應用,同時有幾臺機器提供服務,每臺機器的狀態能夠設爲regular(正常工做)或backup(備份狀態),或者同時設定爲 regular狀態。負載均衡設備根據管理員事先設定的負載算法和當前網絡的實際的動態的負載狀況決定下一個用戶的請求將被重定向到的服務器。而這一切對於用戶來講是徹底透明的,用戶完成了對WEB服務的請求,並不用關心具體是哪臺服務器完成的。安全

 

2、使用網絡地址轉換實現多服務器負載均衡服務器

 

支持負載均衡的地址轉換網關中能夠將一個外部IP地址映射爲多個內部IP地址,對每次TCP鏈接請求動態使用其中一個內部地址,達到負載均衡的目的。不少硬件廠商將這種技術集成在他們的交換機中,做爲他們第四層交換的一種功能來實現,通常採用隨機選擇、根據服務器的鏈接數量或者響應時間進行選擇的負載均衡策略來分配負載。然而硬件實現的負載控制器靈活性不強,不能支持更優化的負載均衡策略和更復雜的應用協議。網絡

 

基於網絡地址轉換的負載均衡器能夠有效的解決服務器端的CPU和磁盤I/O負載,然而負載均衡器自己的性能受網絡I/O的限制,在必定硬件條件下具備必定的帶寬限制,但能夠經過改善算法和提升運行負載均衡程序的硬件性能,來提升這個帶寬限制。不一樣的服務類型對不一樣的服務器資源進行佔用,咱們使用的負載衡量策略是使用同一個負載進行評估,這對於大多數條件是適合的,然而最好的辦法是針對不一樣的資源,如CPU、磁盤I/O或網絡I/O等,分別監視服務器負載,由中心控制器選擇最合適的服務器分發客戶請求。架構

 

3、使用DNS服務器實現負載均衡併發

 

訪問企業網服務器的用戶急劇增長,一臺服務器難以知足用戶的訪問須要,那麼如何才能保證用戶的正常訪問呢?解決方法有不少,如使用Windows 2000或Windows Server 2003提供網絡負載均衡服務,但該服務的設置很是複雜。而經過DNS服務器實現網絡負載均衡則是一種比較簡單的方法。負載均衡

 

企業網一般由不少子網構成,爲了下降網絡中的數據流量,客戶機最好能訪問處於同一子網內的Web服務器。雖然實現了網絡負載均衡功能,但並不能保證客戶訪問的是本子網的Web服務器。其實這個問題也很好解決,只要啓用DNS服務器的「啓用網絡掩碼排序」功能便可。在DNS管理器窗口中,右鍵點擊DNS 服務器,在彈出的菜單中選擇「屬性」,而後在屬性對話框中切換到「高級」選項卡,勾選「服務器選項」列表框中的「啓用網絡掩碼排序」選項便可。這樣客戶機每次都能訪問到本子網內的Web服務器了。完成以上設置後,就使DNS服務器實現了網絡負載均衡功能,把客戶的訪問分擔到每一個Web服務器上,而且還減小了跨子網的網絡通訊流量,大大下降了企業網的通訊負擔。

 

4、企業實現SQL Server數據庫服務器負載均衡

 

MS SQL Server數據庫服務器能夠說是應用範圍最廣的數據庫產品,而且愈來愈多地在大型和比較關鍵的應用系統中提供服務。當企業應用愈來愈複雜、數據量愈來愈大的時候,SQL Server數據庫要不停的進行處理、存儲、查詢的工做,這個時候企業就要考慮SQL Server數據庫服務器的性能和速度及安全性了。然而,長期以來,SQL SERVER數據庫服務器都只有「熱備」的解決方案,而沒有「負載均衡」和「集羣」的解決方案。

 

隨着數據庫路由器軟件ICX的出現,爲基於MS SQL Server的數據庫系統提供了一種更優秀的集羣解決方案。它能夠真正的實現SQL Server數據庫服務器的動態負載均衡,提升性能和速度;它能夠真正的保證SQL Server數據庫服務器不間斷的提供服務,在服務器發生故障的時候實時切換到其餘服務器上繼續提供服務,切換時間爲「零」。數據庫路由器是實時併發數據庫事務處理同步複製器和負載平衡器。

 

全部的數據庫客戶都經過ICX訪問數據庫。當訪問、查詢SQL Server數據庫的時候ICX能夠根據實際狀況分配服務器來提供服務,大大提升服務速度和優化性能,完成負載均衡。ICX能夠同時鏈接多臺數據庫,這若干臺數據庫的內容在任什麼時候刻由ICX保證是徹底一致的。也就是說,ICX採用了全新的併發事務處理的方式,向鏈接的N臺數據庫同步複製事務處理,使得系統在任什麼時候刻具備多個一致的最新邏輯數據庫數據集。當其中一臺數據庫服務器發生故障的時候,ICX能夠實時的、第一時間切換到其餘服務器上來繼續提供服務。真正的實現零時間的服務器切換,大大提升安全性,真正意義的實現服務器不間斷服務。

原理:

負載平衡把每一個IP數據包按某種規則分發到服務器節點,不一樣的負載平衡實現方式有不一樣的分發規則。對客戶端來講負載平衡系統是透明的。採用網絡負載平衡技術的服務對單個客戶端請求的響應並比單個主機快,但對大量客戶端的密集請求在速度與質量有很大優點。而且當某個主機發生故障或脫機時,不會影響服務的提供,從而帶來了高可用性。

負載平衡的不一樣實現方法

4.1 利用網絡設備的動態網絡地址轉換(NAT)功能實現負載平衡

實現負載平衡的要求:

具有動態NAT功能的路由器,多臺運行同一服務的服務器,全部服務器要求在同一局域網內。

負載平衡的設計與配置過程:

內部的多臺服務器,有本身的私有IP,提供相同的服務, 但對外映射經過網絡地址轉換(NAT)成爲一個統一的公網IP地址,對外部來說多臺服務器是捆綁在一塊兒的一個虛擬服務器,外部訪問這個虛擬服務器時,輪流指向各臺服務器,從而達到負載均衡。

例如:如下網絡中

路由器動態NAT配置過程以下:(以思科路由器爲例)

Router(config)#int f0/1

Router(config-if)#ip address 192.168.1.1 255.255.255.0

Router(config-if)#ip nat inside

Router(config-if)#int s0/0

Router(config-if)#ip address 133.0.0.1 255.255.255.252

Router(config-if)ip nat outside

Router(config-if)#exit

Router(config)#ip nat pool p2 192.168.1.2 192.168.1.4 netmask 255.255.

255.0 type rotary

Router(config)#access-list 2 permit 133.0.0.33

Router(config)#ip nat inside destination list 2 pool p2

Router(config)#ip route 0.0.0.0 0.0.0.0 s0/0

優、缺點:配置簡單,成本低,服務器在本地便於維護,負載平衡算法由路由器提供,不需佔用服務器系統資源。可是通常只能支持輪流服務的算法,不能根據服務器性能進行合理的負載分配。

4.2 DNS的負載平衡實現

負載平衡的要求:

要求DNS服務器的支持,通常支持bind8.2以上的類unix系統,安裝一個循環複用DNS軟件。

負載平衡的設計與配置過程:在DNS中爲多個地址配置同一個名字,於是查詢這個名字的客戶機將獲得其中一個地址,從而使得不一樣的客戶訪問不一樣的服務器,達到負載均衡的目的。配置過程在不一樣的DNS系統中有不一樣的配置方法,本文再也不多述。

優、缺點:服務器能夠分佈在不一樣的地域,有利於故障轉移。負載平衡算法運行在DNS服務器上,不佔用服務器資源。

可是域名服務器沒法知道服務結點是否有效,若是服務結點失效,域名系統依然會將域名解析到該節點上,形成用戶訪問失效。另外,它不能區分服務器性能的差別,也不能反映服務器的當前運行狀態。所以,在動態平衡特性上,動態DNS輪詢的效果並不理想。

4.3 利用操做系統的羣集功能實現負載平衡

負載平衡的要求:

要求使用支持羣集功能的操做系統如:windows 2000server以上的服務器版本,Unix或Linux。本文以windows2003 server爲例介紹羣集功能的配置。

負載平衡的設計與配置過程:羣集的實現須要羣集內部的通信以及管理和內容複製的數據傳輸。這部分通信佔用了網絡的可用帶寬。爲了克服單網卡的侷限性,通常使用雙網卡,一個用於負載客戶端的通信,另外一個用於傳輸內部通信,管理和內容的數據。

羣集操做模式的選擇是設計的重要一步。單播模式是指各節點的網絡適配器被從新指定了一個虛擬MAC(由02-bf和羣集IP地址組成確保此MAC的惟一性)。多播模式下,網絡適配器在保留原有的MAC地址不變的同時,還分配了一個各節點共享的多播MAC地址。通常選用多播模式。

端口規則是windows2003的新特性。NLB提供3種篩選模式,能夠針對端口規則採起禁止、多主機負載平衡和單主機的特殊處理。其中,多主機篩選模式提供了真正意義上的負載平衡,而且能夠根據節點的實際處理能力進行負載量的分配。

Windows2003引入了網絡負載平衡管理器(控制面板->管理工具),使負載平衡的安裝和配置更加簡單。管理器能夠容易的實現羣集的創建、刪除,節點的添加、刪除、修改以及故障的檢測。

運行網絡負載平衡管理器,選擇 羣集 -> 新建 ,彈出「羣集參數」對話框,而後根據嚮導按須要配置。

首先配置好參數後點擊下一步,系統會提示添加附加羣集IP,若是不須要可直接按「下一步」進行端口配置。以web羣集配置爲例:若是會話狀態不保存在該羣集上,則類似性選擇無,不然選擇單一或者類C。

以後,指定一臺主機鏈接,並選擇一個可用的網絡接口,進行主機參數的設置:點擊「完成」,管理器會自動鏈接到主機上進行相關配置來建立一個新的羣集。

優、缺點:選擇多主機篩選模式時提供了真正意義上的負載平衡,而且能夠根據節點的實際處理能力進行負載量的分配。比較適用於大型網站負載平衡的實現。但使用Unix, Windows 2003 server系統實現時,網絡架構成本較高。

相關文章
相關標籤/搜索