多臺伺服器怎麼做負載均衡?四種常見方案

2026-10-25 · 技術

加機器不等於效能翻倍,分發方式決定效果。本文對比 DNS 輪詢、四層負載、七層反向代理與雲原生閘道器四類方案的適用場景,並講清會話保持、健康檢查與後端規格不均的處理辦法。

單臺伺服器扛不住的時候,第一反應是加機器。但加了機器不等於效能翻倍,流量怎麼分、會話怎麼保持、後端怎麼做健康檢查,才決定最終效果。 第一種是 DNS 輪詢。同一個域名解析到多個 IP,由 DNS 輪流返回。優點是零成本、無需額外裝置,適合多機房分流;缺點是 DNS 有快取,摘除故障 IP 後仍有客戶端往舊地址發請求,生效慢,也沒法做精細的健康檢查。它適合做粗粒度的地域分流,不適合當主力負載均衡。 第二種是四層負載均衡。用 LVS、HAProxy 的 TCP 模式或雲廠商的負載均衡服務,在傳輸層按連線分發。優點是效能高、對協議透明,遊戲、資料庫代理、長連線業務常用;缺點是看不到內容,不能按路徑或域名分流。 第三種是七層反向代理。Nginx、HAProxy 的 HTTP 模式屬於這一類,可以按域名、路徑、Header 分發,能做灰度、限流、改寫。大多數 Web 站點用這個就夠。要注意會話保持:如果後端把登入態存在本機,使用者重新整理頁面換了機器就會掉登入,解決辦法是會話共享,或者按來源 IP 做一致性雜湊。 第四種是服務網格或雲原生閘道器,適合容器化、服務數量多的場景,能力最全,運維複雜度也最高,中小企業一般用不到。 不管用哪種,健康檢查都要配。預設的埠探測只能發現程序掛掉,發現不了介面報錯或響應超時;建議加一個輕量的檢查路徑,返回業務真實狀態。檢查間隔和失敗閾值按業務容忍度設定,太敏感會誤摘,太遲鈍會讓使用者先發現問題。 還有一個常被忽略的點:後端機器規格不一致時,簡單輪詢會讓弱機先被打滿。可以給機器設權重,或者乾脆把規格統一。擴容時先加機器再壓測,別等故障當天才驗證配置。 加速IDC 支援多臺雲伺服器與物理伺服器組合部署,頻寬與高防也可以按需搭配,做架構規劃時可以先確認單機瓶頸,再決定加幾臺。