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

來源:互聯網
上載者:User

為了提高伺服器的效能和工作負載能力,企業通常會使用DNS伺服器、網路位址轉譯等技術來實現多伺服器負載平衡,特別是目前企業對外的互連網Web網站,許多都是通過幾台伺服器來完成伺服器訪問的負載平衡。

  目前企業使用的所謂“負載平衡伺服器”,實際上它是應用系統的一種控制伺服器,所有使用者的請求都首先到此伺服器,然後由此伺服器根據各個實際處理伺服器狀態將請求具體分配到某個實際處理伺服器中,對外公開的網域名稱與IP地址都是這台伺服器。負載平衡控制與管理軟體安裝在這台伺服器上,這台伺服器一般只做負載平衡任務分配,但不是實際對網路請求進行處理的伺服器。

  一、企業實現Web伺服器負載平衡

  為了將負載均勻的分配給內部的多個伺服器上,就需要應用一定的負載平衡策略。通過伺服器負載平衡裝置實現各伺服器群的流量動態負載平衡,並互為冗餘備份。並要求新系統應有一定的擴充性,如資料訪問量繼續增大,可再添加新的伺服器加入負載平衡系統。

  對於WEB服務應用,同時有幾台機器提供服務,每台機器的狀態可以設為regular(正常工作)或backup(備份狀態),或者同時設定為regular狀態。負載平衡裝置根據管理員事先設定的負載演算法和當前網路的實際的動態負載情況決定下一個使用者的請求將被重新導向到的伺服器。而這一切對於使用者來說是完全透明的,使用者完成了對WEB服務的請求,並不用關心具體是哪台伺服器完成的。

  二、使用網路位址轉譯實現多伺服器負載平衡

  支援負載平衡的地址轉換網關中可以將一個外部IP地址映射為多個內部IP地址,對每次TCP串連請求動態使用其中一個內部地址,達到負載平衡的目的。很多硬體廠商將這種技術整合在他們的交換器中,作為他們第四層交換的一種功能來實現,一般採用隨機播放、根據伺服器的串連數量或者回應時間進行選擇的負載平衡策略來分配負載。然而硬體實現的負載控制器靈活性不強,不能支援更最佳化的負載平衡策略和更複雜的應用協議。

  基於網路位址轉譯的負載平衡器可以有效解決伺服器端的CPU和磁碟I/O負載,然而負載平衡器本身的效能受網路I/O的限制,在一定硬體條件下具有一定的頻寬節流設定,但可以通過改善演算法和提高運行負載平衡程式的硬體效能,來提高這個頻寬節流設定。不同的服務類型對不同的伺服器資源進行佔用,我們使用的負載衡量策略是使用同一個負載進行評估,這對於大多數條件是適合的,然而最好的辦法是針對不同的資源,如CPU、磁碟I/O或網路I/O等,分別監視伺服器負載,由中心控制器選擇最合適的伺服器分發客戶請求。

  三、使用DNS伺服器實現負載平衡

  訪問企業網伺服器的使用者急劇增加,一台伺服器難以滿足使用者的訪問需要,那麼如何才能保證使用者的正常訪問呢?解決方案有很多,如使用Windows 2000或Windows Server 2003提供網路負載平衡服務,但該服務的設定非常複雜。而通過DNS伺服器實現網路負載平衡則是一種比較簡單的方法。

  企業網通常由很多子網構成,為了降低網路中的資料流量,客戶機最好能訪問處於同一子網內的Web伺服器。雖然實現了網路負載平衡功能,但並不能保證客戶訪問的是本子網的Web伺服器。其實這個問題也很好解決,只要啟用DNS伺服器的“啟用網路遮罩排序”功能即可。在DNS管理器視窗中,右鍵點擊DNS伺服器,在彈出的菜單中選擇“屬性”,然後在屬性對話方塊中切換到“進階”選項卡,勾選“伺服器選項”列表框中的“啟用網路遮罩排序”選項即可。這樣客戶機每次都能訪問到本子網內的Web伺服器了。完成以上設定後,就使DNS伺服器實現了網路負載平衡功能,把客戶的訪問分擔到每個Web伺服器上,並且還減少了跨子網的網路通訊流量,大大降低了企業網的通訊負擔。

四、企業實現SQL Server資料庫伺服器負載平衡

  MS SQL Server資料庫伺服器可以說是應用範圍最廣的資料庫產品,並且越來越多地在大型和比較關鍵的應用系統中提供服務。當公司專屬應用程式越來越複雜、資料量越來越大的時候,SQL Server資料庫要不停的進行處理、儲存、查詢的工作,這個時候企業就要考慮SQL Server資料庫伺服器的效能和速度及安全性了。然而,長期以來,SQL SERVER資料庫伺服器都只有“熱備”的解決方案,而沒有“負載平衡”和“叢集”的解決方案。

  隨著資料庫路由器軟體ICX的出現,為基於MS SQL Server的資料庫系統提供了一種更優秀的叢集解決方案。它可以真正的實現SQL Server資料庫伺服器的動態負載平衡,提高效能和速度;它可以真正的保證SQL Server資料庫伺服器不間斷的提供服務,在伺服器發生故障的時候即時切換到其他伺服器上繼續提供服務,切換時間為“零”。資料庫路由器是即時並發資料庫交易處理同步複製器和Server Load Balancer器。

  所有的資料庫客戶都通過ICX訪問資料庫。當訪問、查詢SQL Server資料庫的時候ICX可以根據實際情況分配伺服器來提供服務,大大提高服務速度和最佳化效能,完成負載平衡。ICX可以同時串連多台資料庫,這若干台資料庫的內容在任何時刻由ICX保證是完全一致的。也就是說,ICX採用了全新的並發交易處理的方式,向串連的N台資料庫複製交易處理,使得系統在任何時刻具有多個一致的最新邏輯資料庫資料集。當其中一台資料庫伺服器發生故障的時候,ICX可以即時的、第一時間切換到其他伺服器上來繼續提供服務。真正的實現零時間的伺服器切換,大大提高安全性,真正意義的實現伺服器不間斷服務。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.