自动滑行和SLA平衡
自动滑行和SLA平衡
1)目标和原则
自动滑行的目的是以最低成本保持SLO(潜在性/可用性)。
SLA↔SLO↔SLA成本:不要追逐"无限"的规模--在错误预算和现金限制范围内滑行。
开放式载荷模型:传入的查询形成"λ"强度流;该系统必须提供"N ≈ λ × W"(小定律)的平均并发性,其中"W"是平均服务时间。
2)哪些指标适合触发器
技术性:- CPU/RAM/IO(饱和proxy)。
- 竞争(在飞行中)和游泳池等待。
- p95/p99 application latency(实际反映SLO)。
- RPS/arrival rate(申请速度)。
- 队列:深度、消息年龄、处理速度。
- 成功交易的份额≤ T秒(存款,支票)。
- 确认操作的时间。
建议:合并2-3个信号:例如,服务用latency+pools和workers用queue depth+age。
3)喷气机vs谓语滑行
反应(反馈):HPA/ASG实际上增加/减少复制副本。很简单,但是有一个缺口。
谓词(feed-forward):日历/过去遥测/市场活动。包括pre-warm:将N实例提高Δ t到峰值。
实际上:混合动力车是基线(最低),在事件发生之前是谓词,是反应性的。
4)滑板政策和稳定性参数
目标跟踪:将指标保持在目标附近(例如,CPU 60%)。
步骤scaling:超大的步骤(在尖峰上积极)。
Stabilization window/cooldown:平滑翻转(例如,60-180秒)。
Min/Max:下限和上限;max-在DB/提供商限制内。
5)层级协调(建筑级联)
1.周边/API网关-弹性,但具有极限和后压。
2.服务是HPA的latency/RPS/pool wait。
3.队列/操作员-按消息深度/年龄划分的KEDA/ASG。
4.DB/Kesh-预先小心缩放(副本/硬化)。
规则:不要比"数据"更快地放大应用程序。
6)Little的队列和定律(如何算作制造者)
对于输入"λ"(msg/s)和平均处理时间"W"(s)的队列:- 所需的并发是:"N_min ≈ λ × W"。
- 皮克/尾巴库存:'N ≈ λ × W ×(1。2–1.5)`.