為了提高伺服器的性能和工作負載能力,企業通常會使用DNS伺服器、網路位址轉譯等技術來實現多伺服器負載均衡,特別是目前企業對外的互聯網Web網站,許多都是通過幾台伺服器來完成伺服器訪問的負載均衡。
目前企業使用的所謂「負載均衡伺服器」,實際上它是應用系統的一種控制伺服器,所有使用者的請求都首先到此伺服器,然後由此伺服器根據各個實際處理伺服器狀態將請求具體分配到某個實際處理伺服器中, 對外公開的功能變數名稱與IP位址都是這台伺服器。 負載均衡控制與管理軟體安裝在這台伺服器上,這台伺服器一般只做負載均衡任務分配,但不是實際對網路請求進行處理的伺服器。
第一、使用網路位址轉譯實現多伺服器負載均衡
支援負載均衡的位址轉換閘道中可以將一個外部IP位址映射為多個內部IP位址,對每次TCP連接請求動態使用其中一個內部位址,達到負載均衡的目的。 很多硬體廠商將這種技術集成在他們的交換器中,作為他們第四層交換的一種功能來實現,一般採用隨機播放、根據伺服器的連接數量或者回應時間進行選擇的負載均衡策略來分配負載。 然而硬體實現的負載控制器靈活性不強,不能支援更優化的負載均衡策略和更複雜的應用協定。
基於網路位址轉譯的負載等化器可以有效的解決伺服器端的CPU和磁片I/O負載,然而負載等化器本身的性能受網路I/O的限制,在一定硬體條件下具有一定的頻寬限制,但可以通過改善演算法和提高運行負載均衡程式的硬體性能, 來提高這個頻寬限制。 不同的服務類型對不同的伺服器資源進行佔用,我們使用的負載衡量策略是使用同一個負載進行評估,這對於大多數條件是適合的,然而最好的辦法是針對不同的資源,如CPU、磁片I/O或網路I/O等,分別監視伺服器負載, 由中心控制器選擇最合適的伺服器分發客戶請求。
第二、企業實現Web伺服器負載均衡
為了將負載均勻的分配給內部的多個伺服器上,就需要應用一定的負載均衡策略。 通過伺服器負載均衡設備實現各伺服器群的流量動態負載均衡,並互為冗余備份。 並要求新系統應有一定的擴充性,如資料訪問量繼續增大,可再添加新的伺服器加入負載均衡系統。
對於WEB服務應用,同時有幾台機器提供服務,每台機器的狀態可以設為regular(正常工作)或backup(備份狀態),或者同時設定為regular狀態。 負載均衡設備根據管理員事先設定的負載演算法和當前網路的實際的動態的負載情況決定下一個使用者的請求將被重定向到的伺服器。 而這一切對於使用者來說是完全透明的,使用者完成了對WEB服務的請求,並不用關心具體是哪台伺服器完成的。
第三、企業實現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可以即時的、第一時間切換到其他伺服器上來繼續提供服務。 真正的實現零時間的伺服器切換,大大提高安全性,真正意義的實現伺服器不間斷服務。
第四、使用DNS伺服器實現負載均衡
訪問企業網伺服器的使用者急劇增加,一台伺服器難以滿足使用者的訪問需要,那麼如何才能保證使用者的正常訪問呢?解決方法有很多,如使用Windows 2000或Windows Server 2003提供網路負載均衡服務, 但該服務的設置非常複雜。 而通過DNS伺服器實現網路負載均衡則是一種比較簡單的方法。
企業網通常由很多子網構成,為了降低網路中的資料流量,客戶機最好能訪問處於同一子網內的Web伺服器。 雖然實現了網路負載均衡功能,但並不能保證客戶訪問的是本子網的Web伺服器。 其實這個問題也很好解決,只要啟用DNS伺服器的「啟用網路遮罩排序」功能即可。 在DNS管理器視窗中,右鍵點擊DNS伺服器,在彈出的功能表中選擇「屬性」,然後在屬性對話方塊中切換到「高級」選項卡,勾選「伺服器選項」清單方塊中的「啟用網路遮罩排序」選項即可。 這樣客戶機每次都能訪問到本子網內的Web伺服器了。 完成以上設置後,就使DNS伺服器實現了網路負載均衡功能,把客戶的訪問分擔到每個Web伺服器上,並且還減少了跨子網的網路通信流量,大大降低了企業網的通信負擔。