单台服务器上云后很快会碰到上限。流量涨了,某个节点挂了,发版时要重启,这些情况都需要有人把请求分到多台后端服务上。阿里云负载均衡(Server Load Balancer,简称 SLB)干的就是这件事。它站在客户端和后端服务器之间,按规则转发请求,某台实例出问题时把流量切到其他机器。本文介绍产品形态、几项关键配置和三个实际场景,方便选型和部署时对照。

一、负载均衡要解决的三件事
第一是分压。多台应用服务器一起接请求,单机的 CPU、内存和带宽就不再是天花板。
第二是保可用。负载均衡定期探测后端实例,某台没有响应时,请求会转到健康节点,多数用户感觉不到故障。
第三是省运维。扩容、缩容、下线机器只需在后端服务器组里增减节点,客户端访问的地址不用改。
二、阿里云负载均衡的三种产品形态
阿里云常见的负载均衡产品按协议层级和用途区分。选型前先确认业务用的是哪种协议。
- 应用型负载均衡(ALB):工作在七层,理解 HTTP 和 HTTPS。可以按域名、路径、请求头配置转发规则,适合 Web 站点、API 网关和微服务入口。
- 网络型负载均衡(NLB):工作在四层,处理 TCP、UDP 等协议,转发延迟低。游戏、长连接、音视频和物联网接入一般用它。
- 传统型负载均衡(CLB):四层和七层的基础功能都有,多见于老业务。新项目通常直接选 ALB 或 NLB。
判断方法很直接。请求要按路径或域名分流,选七层。只按端口和连接转发,并且对延迟、并发量敏感,选四层。
三、部署时要看的配置
1. 监听与转发规则
监听定义负载均衡对外接收请求的端口和协议,比如 80、443。七层监听可以配置转发规则,把 /api/* 发给接口服务器组,其余请求发给前端静态资源服务器组。规则越少,出问题时越好查。规则多了就按优先级整理成清单,并定期删掉已经没用的规则。
2. 后端服务器组与健康检查
后端服务器组是实际处理请求的 ECS 实例集合。健康检查参数决定故障切换有多快,检查间隔、超时时间和失败阈值要按业务响应时间来定。比如接口正常响应要 800 毫秒,超时设为 1 秒就比较合理。检查过于频繁,又会给应用增加额外负担。检查路径建议指向轻量接口,例如 /healthz,它只确认进程和关键依赖可用,不跑耗时的业务逻辑。
3. 调度算法
常用的有三种。加权轮询适合规格一致的实例,规格不同时按规格调整权重。最少连接适合处理时长差异大的业务,比如文件上传和普通查询混在一起的系统。源地址哈希适合需要把同一客户端固定到同一实例的场景。算法不必追求复杂,先用加权轮询做基线,观察各实例负载后再调整。
4. 会话保持与证书卸载
如果登录状态存在单台服务器内存里,就要开启会话保持,否则用户会在实例之间来回切换,表现为频繁掉登录。更稳妥的做法是把会话放到 Redis 等共享存储,应用本身不保存状态。HTTPS 证书可以统一配在负载均衡上,后端实例只处理明文 HTTP,每台机器少做一层加解密,证书续期也只需要改一个地方。
四、三个实际场景
场景一:电商大促的流量入口
某零售企业大促前把商品页、订单页和接口服务拆成三个后端服务器组,用 ALB 按路径分发。大促当天商品详情接口的请求量约为平时的二十倍,团队提前把商品服务器组扩到原来的三倍,并调高健康检查阈值,避免个别实例因短暂抖动被误摘。订单接口改用最少连接算法,防止耗时较长的支付回调集中在某台机器上。按业务模块拆分服务器组的好处是各模块能单独扩缩容,一个模块过载不会拖垮整个站点。
场景二:多人在线游戏的长连接接入
一款移动端对战游戏用 TCP 长连接维持玩家状态,对延迟很敏感。团队用 NLB 接入,监听游戏服务端口,后端挂多台游戏网关。NLB 是四层转发,不解析应用报文,连接建立后的数据转发开销很小。游戏网关之间通过 Redis 共享房间状态,玩家重连时可以分到任意网关。上线初期有部分玩家在网络切换后掉线。团队排查后把连接空闲超时时间从默认值调长,并在客户端加入心跳包,掉线情况明显减少。
场景三:新版本的灰度发布
一个内容平台要在不中断服务的情况下上线新版推荐接口。运维人员在 ALB 的同一服务器组里加入两台新版本实例,权重设为 1,原有八台旧版本实例权重为 8。前十分钟,新版本承接约 10% 的请求,团队对比两边的错误率和响应时间。确认稳定后,逐步把新版本权重调到与旧版本一致,再下线旧实例。如果新版本出问题,把新实例权重改为 0,流量立刻回到旧版本,不用重新部署。
五、常见误区
- 只部署一台负载均衡。负载均衡本身也可能成为单点。生产环境要选支持多可用区的实例规格,并确认故障切换机制是否生效。
- 健康检查只测端口。端口能连通,服务不一定正常。检查路径要验证应用能否处理请求,必要时加上数据库连接检查。
- 后端安全组全部放开。后端 ECS 只接受负载均衡所在网段的访问。如果直接暴露公网地址,统一入口的访问控制就形同虚设。
- 忽略日志。访问日志和监控指标是排查慢请求、异常状态码和流量突增的主要依据。接入日志服务并设置告警,出问题时才有据可查。
- 所有业务共用一套参数。不同接口的响应时间、连接时长和并发模式差别很大,超时、权重和算法应按业务分别设置。