Apache 负载均衡器是 SLA 可执行、可验证、可保障的关键执行层,通过将“99.9%可用性”“P95≤800ms”等指标映射为健康检查、超时、重试等具体配置实现落地。
Apache 负载均衡器本身不直接定义 SLA,但它能成为 SLA 可执行、可验证、可保障的关键执行层。真正落地“99.9% 可用性”“P95 ≤ 800ms”这类承诺,靠的是把 SLA 指标拆解为 Apache 可配置、可探测、可响应的具体能力。
把 SLA 指标映射成 Apache 可控参数
SLA 不是口号,得变成配置项:
status=+H + 主动健康检查(hcexpr/hcinterval),确保故障节点 10 秒内被摘除,避免流量打到宕机实例 maxattempts=2 和 retry=10,单次失败自动切节点重试,降低 5xx 暴露概率 BalancerMember 中设 timeout=0.8(单位秒),超时即中断并转发至其他节点,防止慢节点拖垮整体体验 retry=30(故障隔离窗口) + acquire=2000(连接等待上限),确保新节点上线后 30 秒内完全承接流量 用健康检查筑牢 SLA 底线
光靠 status 标记不够,必须启用真实探测:
ProxyHCExpr ok200 {%{REQUEST_STATUS} = 200} hcexpr=ok200 hcinterval=10 timeout=3 fail=3HEAD /healthz,连续 3 次失败就标记下线,恢复后自动加回通过 balancer-manager 实时验证 SLA 执行效果
访问受保护的 /balancer-manager(仅限内网),重点关注三项数据:
loadfactor 是否按预期生效,支撑“加权最少连接”类 SLA 分流逻辑 max= 设置值,说明连接池瓶颈,可能触发 acquire 超时——这会直接拉低请求成功率,需调高 max 或优化后端吞吐 配合外围机制形成 SLA 闭环
Apache 是执行者,不是决策者:
limit-req)守住入口总 QPS,防止突发流量击穿后端容量,保障可用率基线 /healthz 且返回标准 JSON(含 {"status":"ok"}),让 Apache 健康检查可复用、可审计 app-v2-node-001.internal),TTL 设为 30 秒,扩容时只需更新 DNS,Apache 自动发现,缩短 RTO 不复杂但容易忽略