Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

負載平衡技術深度解析:從 DNS 輪詢到四/七層交換的高可用架構演進

編輯:關於伺服器

為何單點伺服器無法滿足高併發?

  • 單台 PC 伺服器並發處理約 1,000 req/s,高階專用伺服器 3,000~5,000 req/s
  • 流量具備突發性:重大新聞、促銷活動、病毒式傳播導致瞬間流量暴增 10~100 倍
  • 硬體垂直擴展有天花板 (CPU/記憶體/匯流排)、單點故障風險

→ 必須採用 水平擴展 + 負載平衡 架構

五大負載平衡技術演進路線

1. 應用層重導向 (HTTP 302/Location) — 早期簡易方案

  • 原理:Web 應用程式依負載判斷,回傳 Location: https://server2/... 讓瀏覽器重新請求
  • 缺點:需修改應用程式碼、瀏覽器可能陷入重導向迴圈、無法感知下游伺服器真實負載、SSL 連線雙重握手開銷大
  • 現況:極少用於生產,僅見於特定舊系統改造

2. DNS 輪詢 (Round-Robin DNS) — 最簡單、零成本

www IN CNAME www1
www IN CNAME www2
www IN CNAME www3
www1 IN A 192.168.1.1
www2 IN A 192.168.1.2
www3 IN A 192.168.1.3
  • 優點:部署簡單、伺服器可跨地域、無單點負載平衡器
  • 缺點:TTL 快取導致流量切換延遲 (分鐘~小時)、無法感知伺服器健康/效能、流量分布不均 (隨機)、無法支援 Session 親和性
  • 適用:靜態內容 CDN 邊緣節點、非關鍵服務、預算極低專案

3. 反向代理 (Layer 7) — 功能最豐富、應用最廣

架構:Client → Reverse Proxy (Nginx/HAProxy/Apache mod_proxy/IIS ARR) → Backend Pool

核心能力說明
七層感知解析 HTTP Host、URL、Header、Cookie、Body,支援內容型路由 (API/靜態/動態分流)
健康檢查主動/被動檢查 HTTP 狀態碼、關鍵字、TCP 連線、自定義腳本
Session 親和性Cookie 插入、IP Hash、一致性 Hash、Sticky Session
SSL 卸載終止 HTTPS 於代理層,後端走 HTTP,減輕應用伺服器 CPU
快取/壓縮/重寫靜態資源快取、gzip/brotli、Header 修改、URL 重寫、WAF 整合
限流/熔斷Token Bucket/Leaky Bucket、熔斷器模式、灰度發布 (Canary)

效能瓶頸:代理層需維護雙向連線 (Client↔Proxy、Proxy↔Backend),高併發下代理成為新瓶頸。解決:多核心/多實例 + CPU 親和性 + DPDK/XDP 核心旁路。

4. 四層負載平衡 (Layer 4 / NAT / DSR) — 高效能、透明

  • NAT 模式:LB 修改目的 IP (VIP→RIP),回封包經 LB 回傳 (SNAT) — LB 成為流量中繼點,頻寬受限
  • DSR (Direct Server Return) / 全透明模式:LB 僅修改 MAC 位址,回封包由 Real Server 直接經預設閘道回 Client — LB 僅處理入向流量,頻寬壓力降 50%+
  • 硬體實作:F5 BIG-IP、A10 Thunder、Citrix NetScaler、Radware、H3C/Huawei 負載平衡器 — 專用 ASIC/FPGA,400Gbps+ 線速轉發
  • 軟體實作:LVS (IPVS)、HAProxy (TCP 模式)、Nginx (stream 模組)、eBPF/XDP 高效能旁路

5. 半中心化 / 全域負載平衡 (GSLB / Anycast) — 跨地域高可用

  • GSLB (Global Server Load Balancing):智慧 DNS + 健康檢查,依地理位置、延遲、負載、災備策略回傳最佳 VIP
  • Anycast (BGP Anycast):同一 VIP 在多地宣告,路由器自動導向最近節點 — 無狀態、極快故障切換、適合無狀態服務 (DNS、CDN 邊緣、DDoS 洗流)
  • 雲原生實作:AWS Global Accelerator、Cloudflare Load Balancing、Azure Front Door、GCP Global HTTP(S) LB

選型決策矩陣

需求場景推薦架構關鍵技術
中小型 Web 應用、需 URL 路由、SSL 卸載、WAFNginx/HAProxy 反向代理叢集 (Keepalived/VRRP HA)Layer 7、健康檢查、快取、限流
高併發 API 閘道、微服務網格入口Envoy/Kong/Traefik + Service Mesh (Istio/Linkerd)Layer 7、gRPC、熔斷、可觀測性
核心交易/資料庫 Proxy、極致低延遲、百萬併發硬體四層 LB (F5/A10) 或 LVS-DSR + 專用網卡Layer 4、DSR、連線追蹤、硬體加速
跨地域災備、多雲部署、單一入口GSLB (Infoblox/F5 GTM) 或雲原生 Global LB智慧 DNS、健康檢查、地理路由
無狀態高防、DDoS 緩解、DNS/CDN 邊緣Anycast (BGP) + 洗流中心Anycast、流量工程、黑洞路由

最佳實務原則

  1. 無狀態化:應用層不存本地 Session,改用 Redis/Memcached/資料庫共享 Session
  2. 健康檢查深度:不僅 TCP/HTTP 200,需驗證關鍵業務邏輯 (資料庫連線、下游服務可達、關鍵快取命中)
  3. 優雅啟動/關閉:Drain 模式停止接收新連線、等待現有連線完成、再終止進程
  4. 可觀測性:Prometheus/Grafana 監控 QPS、延遲分位數、錯誤率、後端節點健康度、連線池狀態
  5. 混沌工程演練:定期注入節點故障、網路分區、延遲、CPU 壓力,驗證故障切換時間 (目標 < 30 秒)
Copyright © Windows教程網 All Rights Reserved