在負載均衡的思路下,多臺服務器為對稱方式,每臺服務器都具有同等的地位,可以單獨對外提供服務而無須其他服務器的輔助。通過負載分擔技術,將外部發送來的請求按一定規則分配到對稱結構中的某一臺服務器上,而接收到請求的服務器都獨立回應客戶機的請求。
提供服務的一組服務器組成了一個應用服務器集群(cluster),并對外提供一個統一的地址。當一個服務請求被發至該集群時,根據一定規則選擇一臺服務器,并將服務轉定向給該服務器承擔,即將負載進行均衡分攤。
通過應用負載均衡技術,使應用服務超過了一臺服務器只能為有限用戶提供服務的限制,可以利用多臺服務器同時為大量用戶提供服務。當某臺服務器出現故障時,負載均衡服務器會自動進行檢測并停止將服務請求分發至該服務器,而由其他工作正常的服務器繼續提供服務,從而保證了服務的可靠性。
上述的集群技術一般都用于Web服務器、應用服務器等,而不是用于數據庫服務器,即不是用于有共享的存儲的服務。數據庫服務器將涉及到加鎖、回滾等一系列問題,要復雜的多。一般數據庫服務器只是使用雙機,其中一臺工作,另一臺備份。數據庫的雙機并行只用于大型數據庫中。
負載均衡實現的方法有幾種:
關于負載均衡中比較高級的功能是FailOver,即一臺出現故障時,在這臺服務器上正在進行中的進程也會被其他服務器接過去。相應的成本也很高,一般是要象WebLogic、WebSphere軟件的群集版本才支持。