多台服务器怎么做负载均衡?四种常见方案

2026-10-25 · 技术

加机器不等于性能翻倍,分发方式决定效果。本文对比 DNS 轮询、四层负载、七层反向代理与云原生网关四类方案的适用场景,并讲清会话保持、健康检查与后端规格不均的处理办法。

单台服务器扛不住的时候,第一反应是加机器。但加了机器不等于性能翻倍,流量怎么分、会话怎么保持、后端怎么做健康检查,才决定最终效果。 第一种是 DNS 轮询。同一个域名解析到多个 IP,由 DNS 轮流返回。优点是零成本、无需额外设备,适合多机房分流;缺点是 DNS 有缓存,摘除故障 IP 后仍有客户端往旧地址发请求,生效慢,也没法做精细的健康检查。它适合做粗粒度的地域分流,不适合当主力负载均衡。 第二种是四层负载均衡。用 LVS、HAProxy 的 TCP 模式或云厂商的负载均衡服务,在传输层按连接分发。优点是性能高、对协议透明,游戏、数据库代理、长连接业务常用;缺点是看不到内容,不能按路径或域名分流。 第三种是七层反向代理。Nginx、HAProxy 的 HTTP 模式属于这一类,可以按域名、路径、Header 分发,能做灰度、限流、改写。大多数 Web 站点用这个就够。要注意会话保持:如果后端把登录态存在本机,用户刷新页面换了机器就会掉登录,解决办法是会话共享,或者按来源 IP 做一致性哈希。 第四种是服务网格或云原生网关,适合容器化、服务数量多的场景,能力最全,运维复杂度也最高,中小企业一般用不到。 不管用哪种,健康检查都要配。默认的端口探测只能发现进程挂掉,发现不了接口报错或响应超时;建议加一个轻量的检查路径,返回业务真实状态。检查间隔和失败阈值按业务容忍度设置,太敏感会误摘,太迟钝会让用户先发现问题。 还有一个常被忽略的点:后端机器规格不一致时,简单轮询会让弱机先被打满。可以给机器设权重,或者干脆把规格统一。扩容时先加机器再压测,别等故障当天才验证配置。 加速IDC 支持多台云服务器与物理服务器组合部署,带宽与高防也可以按需搭配,做架构规划时可以先确认单机瓶颈,再决定加几台。