权重怎么影响流量
权重决定后端分到多少流量:在健康成员之间近似按权重比例分配新连接,权重为 0 表示不再接收新流量但成员仍保留在组内。灰度发布的常规节奏是「新版本从较小权重起步 → 观察错误率与延迟 → 逐步调高」,回滚时把权重调回 0 即可,不必删除成员。
基本信息
| 取值 | 整数;0 表示不转发新请求,成员保留在组内 |
|---|---|
| 分配效果 | 在健康成员之间近似按权重比例分配 |
| 灰度用法 | 新版本从较小权重起步,观察后再放量 |
| 回滚 | 把新版本权重调回 0,等待存量连接自然结束 |
| 与健康检查关系 | 不健康的成员不参与分配,权重再高也不生效 |
| 生效粒度 | 只影响新连接,存量长连接仍留在原后端 |
典型使用场景
- 新版本灰度:先给 5% 或 10% 流量,确认无异常后逐步放量
- 机器规格不同:高配机器给更高权重,充分利用资源
- 故障回滚:把异常版本权重调 0,比删除成员更快也更安全
- 压测对比:把少量真实流量导入压测版本,观察实际表现
- 计划维护:先把权重降到 0 摘掉流量,再对实例做变更
统计后端状态码分布
统计后端状态码分布
awk '{print $9}' access.log | sort | uniq -c | sort -rn | head
# 分后端统计,对比灰度版本与稳定版本的 5xx 比例
awk '{print $9, $NF}' access.log | sort | uniq -c | sort -rn | head -20
# 关注灰度版本特有的异常状态码与新出现的报错路径灰度节奏参考
| 阶段 | 建议权重 | 观察重点 |
|---|---|---|
| 首次放量 | 5% 左右 | 错误率、延迟、日志中的新异常 |
| 观察稳定 | 20%~30% | 资源使用率、下游依赖压力 |
| 大规模放量 | 50% 以上 | 整体容量与高峰期表现 |
| 回滚 | 调回 0 | 存量连接自然收敛,确认旧版本恢复承接 |
权重只影响新连接的分配:存量长连接要等连接结束后才会重新均衡,观察灰度效果时要给长连接业务留出足够的收敛时间。
回滚时直接删除成员会丢掉「权重 0 快速回切」的路径,一旦新版本需要重新放量只能再次添加成员,操作风险更高。