流量为什么分布不均
流量不均的原因通常不在负载均衡本身,而在配置与连接形态:成员权重不一致、启用了会话保持或一致性哈希、大量长连接把存量固定在部分后端、个别成员处于不健康状态、或者客户端来源集中在少数出口网段。排查按「权重、会话与哈希、连接分布、健康状态」的顺序逐项核对,基本能定位到具体是哪一层造成的倾斜,而不是一上来就怀疑算法有问题。
排查顺序
- 核对各成员权重是否按预期配置
- 确认是否启用了会话保持或一致性哈希
- 统计各成员的活跃连接数与新建连接数比例
- 检查是否有成员处于不健康状态
- 确认客户端来源是否集中在同一出口网段
基本信息
| 请求维度 | 新建连接数按权重分配,短连接下分布较均匀 |
|---|---|
| 连接维度 | 长连接一旦建立就不会迁移,存量会持续倾斜 |
| 保持机制 | 会话保持与哈希会把同一来源固定到同一后端 |
| 口径区分 | 请求数与连接数是两个指标,不能混用 |
在各后端分别统计连接数
在各后端分别统计连接数
ss -tan | grep ':8080' | wc -l # 逐台执行并对比数值
# 配合负载均衡侧的新建连接速率,区分存量倾斜与分配异常现象与原因
| 现象 | 可能原因 |
|---|---|
| 新连接分配就不均 | 权重配置不一致 |
| 连接数长期倾斜 | 长连接存量或会话保持 |
| 某成员没有流量 | 健康检查失败被摘除 |
| 整体都压在少量成员 | 客户端出口集中 |
长连接业务扩容后分布变化滞后属于预期:存量连接不会迁移,只有新连接按新权重分配。
怎么处理存量倾斜
长连接造成的倾斜不能靠「等它自然恢复」来解决,因为连接可能长时间不释放。可行的做法是分两步:先确认倾斜是否影响稳定性,如果负载仍在安全区间,可以配合重启或发布窗口让存量连接自然结束;如果已经出现明显性能差异,则需要主动干预——例如临时调高负载较重节点的权重,或分批重启后端引导客户端重连。无论哪种方式,都要把「连接是否可迁移」作为扩容方案设计的前置条件。