提供服務的一組服務器組成了一個應用服務器集群(cluster),并對外提供一個統一的地址。當一個服務請求被發至該集群時,根據一定規則選擇一臺服務器,并將服務轉定向給該服務器承擔,即將負載進行均衡分攤。
通過應用負載均衡技術,使應用服務超過了一臺服務器只能為有限用戶提供服務的限制,可以利用多臺服務器同時為大量用戶提供服務。當某臺服務器出現故障時,負載均衡服務器會自動進行檢測并停止將服務請求分發至該服務器,而由其他工作正常的服務器繼續提供服務,從而保證了服務的可靠性。
上述的集群技術一般都用于Web服務器、應用服務器等,而不是用于數據庫服務器,即不是用于有共享的存儲的服務。數據庫服務器將涉及到加鎖、回滾等一系列問題,要復雜的多。一般數據庫服務器只是使用雙機,其中一臺工作,另一臺備份。數據庫的雙機并行只用于大型數據庫中。
負載均衡實現的方法有幾種:
最簡單的是通過DNS,但只能實現簡單的輪流分配,也不能處理故障
如果是基于MS IIS,Windows 2003 Server本身就帶了負載均衡服務。但這一服務也只是輪流分配。
硬件方式,通過交換機的功能或專門的負載均衡設備可以實現。對于流量的分配可以有多種方式,但基本上都是應用無關的,與服務器的實現負載關系也不大。另外,設備的價格較貴(優點是能支持很多臺服務器)。這種方式往往適合大流量、簡單應用。
軟件方式,通過一臺負載均衡服務器進行,上面安裝軟件。這種方式比較靈活,成本相對也較低。另外一個很大的優點就是可以根據應用的情況和服務器的情況采取一些策略。
關于負載均衡中比較高級的功能是FailOver,即一臺出現故障時,在這臺服務器上正在進行中的進程也會被其他服務器接過去。相應的成本也很高,一般是要象WebLogic、WebSphere軟件的群集版本才支持。
文章來源于領測軟件測試網 http://www.kjueaiud.com/