负载均衡是什么
负载均衡把访问请求分发到多台后端服务器,同时提供公网或私网入口、健康检查与 TLS 卸载,是云上高可用业务的标准入口层。它把多台机器收敛成一个稳定地址:后端增删、故障摘除、证书更新都在负载均衡侧完成,调用方不需要感知后端的变化。
基本信息
| 三厂名称 | 负载均衡 SLB(新一代为 ALB/NLB)/ 负载均衡 CLB / 弹性负载均衡 ELB |
|---|---|
| 类型 | 公网型与私网型;四层(TCP/UDP)与七层(HTTP/HTTPS) |
| 核心配置 | 监听(端口 + 协议 + 证书)、后端服务器组、健康检查 |
| 后端类型 | 云服务器、弹性网卡、IP 地址、容器集群节点 |
| 可用区 | 支持主备可用区,避免负载均衡自身成为单点 |
四层与七层对比
| 维度 | 四层 TCP/UDP | 七层 HTTP/HTTPS |
|---|---|---|
| 可见内容 | 仅 IP 与端口 | 域名、URL、Header、Cookie |
| 典型用途 | 数据库代理、游戏、消息队列 | Web、API、微服务 |
| HTTPS 卸载 | 透传,由后端解密 | 支持卸载到负载均衡 |
| 健康检查 | 端口探测 | HTTP 状态码探测 |
| 会话保持 | 按源 IP | 按 Cookie 或源 IP |
典型使用场景
- 对外提供统一入口:多台应用服务器挂在一个七层监听后面,扩容只是加后端
- 灰度与切换:通过调整后端权重把流量按比例导到新版本,验证完成后再全量
- TLS 统一收口:证书只在负载均衡维护,后端只处理明文 HTTP,续期不再逐台替换
- 私网内部调用:私网型负载均衡给内部服务一个稳定地址,调用方与实例解耦
- 四层代理中间件:数据库、消息队列这类不认识 HTTP 的服务用四层监听做前端代理
查看与核对后端
查看与核对后端
aliyun slb DescribeLoadBalancers --RegionId cn-hangzhou # 列出实例与规格
aliyun slb DescribeHealthStatus --LoadBalancerId lb-xxxx # 逐台看后端健康状态
aliyun slb DescribeVServerGroups --LoadBalancerId lb-xxxx # 查后端服务器组
# 后端全部被判异常时,先确认健康检查端口是否在后端安全组放通七层场景建议直接用新一代 ALB;存量 SLB 实例仍可正常使用与续费,迁移前先核对监听、转发规则与证书的等价配置。
健康检查端口没在后端安全组放通,会把所有后端判为异常并全部摘除,外部表现为整体 502;调整安全组时要连健康检查来源地址一起放通。
负载均衡所在子网要有足够剩余地址:它会在子网内占用地址做转发,子网切得太小会限制后续能挂载的后端数量。
选型与配置清单
- 先定协议:认识 HTTP 就用七层,能按域名与路径分流,还能直接卸载证书;纯 TCP 业务选四层
- 再定入口类型:公网型给外部用户,私网型给内部调用,混用会让内网流量绕行公网
- 健康检查要对准业务真实可用的判定:探测路径要能被应用正确响应,不能只探端口
- 后端权重用于灰度:先把新版本权重设小,观察错误率与延迟后再逐步放大
- 会话保持按需开启:无状态服务不要开,开了会让后端负载分布不均
负载均衡自身也要做容量规划:连接数、每秒新建连接数与带宽都有规格上限,出问题时的表现是后端还空着却已经开始丢连接。
同一实例能同时挂四层与七层监听,但代际与规格会影响可用能力,规划入口前先确认目标产品支持哪些协议,避免按七层设计完才发现要换实例。