Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Web 應用叢集負載平衡:DNS 輪循 (RR-DNS) vs 硬體/軟體 Load Balancer 完整比較

編輯:系統常見問題解答

高可用 Web 叢集需將流量分散至多節點。主流兩大架構:

一、DNS Round-Robin (RR-DNS)

原理:單一 FQDN 對應多筆 A/AAAA 記錄,DNS 伺服器依序回應不同 IP。
優點:
• 零成本、無單一失敗點 (DNS 本身可做叢集)
• 部署簡單、無額外硬體/軟體授權
• 適合跨資料中心地理分散 (Geo-DNS)
缺點:
• 無健康檢查:節點掛掉 DNS 仍解析其 IP,導致用戶端連線失敗 (TTL 過期前)。
• 用戶端/遞迴解析器快取:TTL 過期前流量不會切換。
• Session 不連續:同一用戶可能解析到不同節點,需共享 Session 儲存 (Redis/DB/NFS)。
• 負載不均:輪循平均,不考慮節點效能、連線數、延遲。
適用:無狀態靜態內容、CDN 邊緣節點、容錯要求低、預算極限場景。

二、負載平衡器 (Layer 4 / Layer 7)

類型代表產品工作層級核心能力
硬體F5 BIG-IP, Citrix ADC, A10, RadwareL4/L7高效能 ASIC/FPGA、SSL 卸載、WAF、DDoS 防護、GUI 管理
軟體 (專用)NGINX Plus, HAProxy Enterprise, Envoy, TraefikL7 (HTTP/HTTPS/gRPC)豐富路由規則、健康檢查、熔斷、限流、可觀測性、K8s 整合
雲端原生AWS ALB/NLB, GCP Cloud Load Balancing, Azure Front Door/Application GatewayL4/L7全代管、自動擴縮、跨區域、WAF 整合、成本隨用量

關鍵功能比較

功能RR-DNSL4 LBL7 LB
健康檢查無TCP/HTTP 檢查深度 HTTP/HTTP2/gRPC 檢查
Session Affinity不可控Source IP HashCookie/Header/JWT/一致性雜湊
SSL 卸載無可 (SSL Pass-through)完整終結、重新加密、OCSP Stapling
內容路由無無Path/Host/Header/Query 參數路由
WAF 整合無無ModSecurity/OWASP CRS/自訂規則
可觀測性無基本計數器完整 Metrics/Logs/Traces (Prometheus/OpenTelemetry)
成本極低高 (硬體) / 中 (軟體授權)中~高 (授權/雲端用量)

三、混合架構:最佳實務

用戶 → [Geo-DNS / CDN] → [區域 L7 LB (NGINX/ALB)] → [區域內 L4 LB (HAProxy/Envoy)] → [應用叢集 (K8s/VM)]
  • Geo-DNS/CDN:就近導流、DDoS 吸收、靜態快取。
  • 區域 L7 LB:SSL 終結、WAF、路由規則、藍綠部署、金絲雀釋出。
  • 區域內 L4 LB:高效能 TCP 負載分發、長連線維持、gRPC 多工。
  • 應用節點:無狀態、健康端點 /healthz、Graceful Shutdown (SIGTERM 處理)。

四、Session 共享方案 (叢集必備)

  • Redis Cluster:spring-session / express-session / django-redis-sessions,TTL 同步、高可用。
  • 資料庫:session 表、索引 session_id、定期清理過期。
  • JWT (Stateless):攜帶 Claims、簽名驗證、無伺服器狀態、需處理撤銷 (Blocklist/短效期+Refresh)。

五、選型決策樹

  1. 預算 = 0、無狀態、可容忍數分鐘故障切換 → RR-DNS + 客戶端重試邏輯。
  2. 需健康檢查、SSL 卸載、WAF、可觀測性 → 軟體 L7 LB (NGINX/HAProxy/Envoy) 自建或雲端 ALB。
  3. 極高併發 (100k+ RPS)、硬體加速、專業支援 SLA → 硬體 LB (F5/Citrix)。
  4. Kubernetes 環境 → Ingress Controller (NGINX/Traefik/Envoy) + Service (ClusterIP/LoadBalancer)。

負載平衡非單一工具,而是架構層決策。依業務可用性等級、預算、團隊能力、技術棧綜合選型,並建立完整健康檢查、熔斷、降級、演練機制。

Copyright © Windows教程網 All Rights Reserved