什麼是 Web Farm
將多台 IIS Web 伺服器組成叢集,對外提供單一服務入口。請求經負載平衡器分發至不同節點,提升吞吐量;任一節點故障,其餘節點繼續服務,具備容錯能力。
經典 Web Farm 拓撲(避免單點故障)
- 防火牆:雙機熱備,保護內網安全。
- 負載平衡器:硬體(F5、NetScaler)或軟體(NLB、HAProxy),分發流量。
- 前端 Web Farm (IIS):多台 IIS 節點,共享內容與配置。
- 後端資料庫:叢集/主從/AlwaysOn,提供資料服務。
Windows Server 2008 R2 內建 NLB 替代獨立負載平衡器
- 在前端 IIS 節點直接啟用「網路負載平衡」功能,形成 NLB 叢集。
- 節點間透過心跳偵測存活,自動分發流量、剔除故障節點。
- 適合中小規模、無七層路由需求的場景。
ISA Server / TMG 發布規則支援 Web Farm
- 防火牆層透過「發布規則」將外部請求轉發至 Web Farm 節點。
- 內建健康檢查,自動排除離線節點。
網頁內容儲存三大方案比較
| 方案 | 架構 | 同步機制 | 容錯 | 適用場景 |
| 本機磁碟 + DFS-R | 每節點存一份 | DFS 複寫自動同步 | 節點掛掉不影響資料,需≥2 節點 | 中小型、內容更新頻率低 |
| SAN / NAS 共享儲存 | 單一儲存陣列掛載多節點 | 無需同步,集中管理 | 儲存本身需高可用(雙控、多路徑) | 大型、高一致性要求、虛擬化環境 |
| 檔案伺服器叢集 + DFS-R | 多台檔案伺服器組叢集 | DFS-R 複寫 | 檔案伺服器節點故障透明切換 | 跨站點、需檔案級權限控管 |
設計原則總結
- 無狀態前端:Web 節點不存儲 Session(改用 Redis/SQL Session State),任意節點可處理請求。
- 共享配置:IIS 共用配置或 Central Certificate Store,單點修改全節點生效。
- 多層容錯:防火牆、負載平衡、Web 節點、資料庫、儲存各層皆無單點。
- 自動化部署:Web Deploy、DSC、Ansible、Terraform 確保節點一致性。