概述
Microsoft 提供三種叢集技術,分別解決不同層面的擴展性與可用性需求:
- NLB (Network Load Balancing) - 網路負載平衡:前端叢集,分發 IP 流量。
- CLB (Component Load Balancing) - 元件負載平衡:中介層叢集,分發 COM+ 元件呼叫。
- MSCS (Microsoft Cluster Service) - 叢集服務:後端叢集,提供資料庫/訊息/檔案列印的高可用性 (Failover)。
1. NLB (Network Load Balancing) - 前端流量分發
核心特性
- 最多支援 32 節點共享單一虛擬 IP (VIP)。
- TCP/IP 層級負載平衡,適用 Web 服務、終端機服務、VPN、串流媒體。
- 自動偵測節點故障,10 秒內 重新分配用戶流量至健康節點。
- 無共享儲存需求,節點間透過心跳訊息通訊。
運作模式
所有節點同時作用,收到請求時依演算法 (雜湊/權重) 決定由哪節點處理,無單一決定者。適合無狀態或 Session 可外部共享 (SQL/Redis) 的應用。
2. CLB (Component Load Balancing) - 中介層 COM+ 負載平衡
核心特性
- 支援最多 8 節點的 COM+ 應用程式叢集。
- 動態依目前負載 (CPU、記憶體、呼叫佇列) 決定將 COM+ 元件啟動呼叫導向哪節點。
- 需搭配 NLB (前端 Web 層) 與 MSCS (後端資料層) 組成三層架構。
- 作為 Application Center 2000 功能提供,可與 MSCS 同機運行。
適用場景
使用 COM+ 元件實作商業邏輯的分散式應用 (如早期 .NET Enterprise Services 架構),需動態平衡中介層運算負載。
3. MSCS (Microsoft Cluster Service) - 後端高可用性
核心特性
- Active/Passive (主動/被動) 或 Active/Active (雙主) 模式。
- 節點共享儲存 (SCSI 共享匯流排、光纖通道 SAN、iSCSI/CSV),確保資料一致性。
- 資源群組 (Resource Group) 為容錯移轉單位,包含 IP、磁碟、服務、應用程式。
- 節點故障時,資源群組自動轉移至健康節點並重新啟動服務 (Failover),資料零遺失 (共享儲存保證)。
典型應用
- SQL Server 容錯移轉叢集 (FCI)。
- Exchange Server 高可用性 (早期版本)。
- 檔案/列印伺服器叢集。
- DHCP/WINS/DNS 服務叢集。
比較總結表
| 技術 | 層級 | 核心目標 | 決策者 | 狀態管理 | 共享儲存 | 典型應用 |
| NLB | 前端 | 流量分發、擴展性 | 演算法 (隨機/權重) | 無狀態/外部共享 | 不需要 | Web、VPN、Terminal Services |
| CLB | 中介層 | COM+ 元件負載平衡 | 動態負載回饋 | 元件內部狀態 | 不需要 | COM+ 分散式商業邏輯 |
| MSCS | 後端 | 高可用性 (Failover) | 用戶端/資源群組擁有者 | 共享儲存 (Session/資料) | 必需 (SAN/CSV) | SQL、Exchange、檔案列印 |
延伸:雙機熱備工作模式
- 雙機熱備 : Active/Standby,主機工作,備機監控,資料同步寫入 (RAID/複寫),故障切換秒級。資源利用率 50%。
- 雙機互備 : 兩組不同業務互為主備,雙主機運行,故障時單機承載雙重負載,需更高規格。資源利用率較高。
- 雙機雙工 : NLB 模式,雙節點同時服務同一業務,負載平衡 + 互備,需共享儲存 (SAN),Web/FTP 常用。資源利用率 100%。
選型建議
- Web 前端擴展 → NLB (現代建議搭配 Layer 4/7 硬體/軟體負載平衡器如 F5、Nginx、HAProxy、Azure LB)。
- 中介層 COM+ 應用 → CLB (已較少見,現代微服務架構以 API Gateway + Service Mesh 取代)。
- 資料庫/關鍵服務高可用 → MSCS / WSFC (Windows Server Failover Clustering) (SQL Server AlwaysOn FCI/AG、Exchange DAG、檔案伺服器叢集)。