Windows Server集群(cluster)技術是以三層式應用程序的架構設計,微軟的架構師對每一層都做了相應的解決方案。接下來我為大家介紹的網絡負載均衡(Network Load Balance,NLB)屬於前端的集群技術,其他的還有中介層的COM+組件負載均衡(Component Load Balance,CLB)、屬於後端服務器的集群(Microsoft Cluster Server,MSCS)。
在介紹NLB之前,我們先來學習一下與集群有關的知識:群集的定義,以及群集對我們有哪些幫助。
集群的基本概念
簡單一點說,集群是指一組服務器,通過彼此間協同作業,提供一個相同的服務或應用程序,以提升服務或應用程序的可操作性(availability,注1)、可靠性(reliability,注2),以及延展性(scalability,注3)。當集群內的一個服務器掛了,請求會轉移給其它的服務器,提供全年無休、永不間斷的服務。
Windows Server支持了三種集群技術,分別是NLB、CLB與MSCS,NLB和MSCS已經集成在Windows Server中,而CLB則需要購買Application Center。
這些集群技術用途如下:
1.NLB,提供以TCP/IP為基礎的服務與應用程序的網絡流量負載均衡,用於提升操作系統的可用性和延展性。常見的應用有terminal service、web service與web application等。
NLB是通過一個虛擬的IP提供對外服務。當收到請求時,NLB會隨機決定由哪一台服務器來處理這個請求。
2.CLB,提供使用COM+組件的中介層應用程序的動態負載均衡,用於提升系統的可用性和延展性。CLB會依據目前的工作負載來決定由誰來處理服務請求。
3.MSCS,提供後端服務與應用程序的容錯移轉(failover),用來提升系統的可用性。常見的應用有SQL Server與Exchange Server等。
MSCS是由client來決定由誰來處理服務請求,所有服務器共享一個share storage來儲存session狀態。當主動服務器掛了,則繼續由被動服務器接手。被動服務器會從share storage取出session狀態,繼續未完成的工作,以達到容錯移轉的目的。