天天看點

談Web伺服器和應用伺服器的負載均衡

  本文對Web伺服器和應用伺服器的負載均衡進行說明。

 在負載均衡的思路下,多台伺服器為對稱方式,每台伺服器都具有同等的地位,可以單獨對外提供服務而無須其他伺服器的輔助。通過負載分擔技術,将外部發送來的請求按一定規則配置設定到對稱結構中的某一台伺服器上,而接收到請求的伺服器都獨立回應客戶機的請求。

 提供服務的一組伺服器組成了一個應用伺服器叢集(cluster),并對外提供一個統一的位址。當一個服務請求被發至該叢集時,根據一定規則選擇一台伺服器,并将服務轉定向給該伺服器承擔,即将負載進行均衡分攤。

 通過應用負載均衡技術,使應用服務超過了一台伺服器隻能為有限使用者提供服務的限制,可以利用多台伺服器同時為大量使用者提供服務。當某台伺服器出現故障時,負載均衡伺服器會自動進行檢測并停止将服務請求分發至該伺服器,而由其他工作正常的伺服器繼續提供服務,進而保證了服務的可靠性。

 上述的叢集技術一般都用于Web伺服器、應用伺服器等,而不是用于資料庫伺服器,即不是用于有共享的存儲的服務。資料庫伺服器将涉及到加鎖、復原等一系列問題,要複雜的多。一般資料庫伺服器隻是使用雙機,其中一台工作,另一台備份。資料庫的雙機并行隻用于大型資料庫中。可參見:

   系統高可用性與雙機備份常見問題與方案選擇

   http://www.itmgt.com.cn/ha/hafaq.htm

 負載均衡實作的方法有幾種:

 1.最簡單的是通過DNS,但隻能實作簡單的輪流配置設定,也不能處理故障

 2.如果是基于MS IIS,Windows 2003 Server本身就帶了負載均衡服務,不需另外購買。但這一服務也隻是輪流配置設定。

 3.硬體方式,通過交換機的功能或專門的負載均衡裝置可以實作。對于流量的配置設定可以有多種方式,但基本上都是應用無關的,與伺服器的實作負載關系也不大。另外,裝置的價格較貴(優點是能支援很多台伺服器)。這種方式往往适合大流量、簡單應用。

 4.軟體方式,通過一台負載均衡伺服器進行,上面安裝軟體。這種方式比較靈活,成本相對也較低。另外一個很大的優點就是可以根據應用的情況和伺服器的情況采取一些政策。

 關于負載均衡中比較進階的功能是FailOver,即一台出現故障時,在這台伺服器上正在進行中的程序也會被其他伺服器接過去。相應的成本也很高,一般是要象WebLogic、WebSphere軟體的群集版本才支援。

繼續閱讀