伸缩规则与冷却时间
伸缩规则回答两个问题:什么时候扩缩容、扩缩多少。触发方式分指标触发、定时触发和目标追踪三类,动作则是增加或减少指定台数。冷却时间是上一次伸缩活动结束后的静默期,期间不再响应新的触发,它的作用是防止指标在被扩出来的容量压下去之后立刻缩容、再触发扩容,形成来回震荡。
基本信息
| 触发方式 | 指标触发(CPU、内存、队列积压、并发数)、定时触发、目标追踪 |
|---|---|
| 伸缩动作 | 增加或减少指定台数,或直接调整到指定数量 |
| 冷却时间 | 上一次伸缩活动结束后的静默期,期间不响应新触发 |
| 配套设置 | 最小与最大实例数、健康检查、与负载均衡后端联动 |
| 注意方向 | 扩容可以激进,缩容必须保守 |
典型使用场景
- 定时伸缩:业务有明显峰谷,工作日白天扩容、夜间缩容
- 指标触发:CPU 或并发数持续超过阈值时自动加机器
- 队列驱动:按待处理任务数扩容,比 CPU 更贴近真实容量需求
- 大促与活动:提前定时扩容,活动结束后由指标规则自然回落
- 成本控制:低峰期缩容到最小实例数,只保留基础容量
冷却时间配置思路
冷却时间配置思路
# 扩容冷却:要覆盖实例启动 + 应用就绪 + 监控数据稳定所需时间
# 设得过短:新实例还没起来,规则就再次触发扩容
# 缩容冷却:要覆盖业务波动的自然回落周期,通常比扩容更长
# 设得过短:指标短暂回落就缩容,随后又扩容,形成震荡
# 观察周期:至少连续若干个采样点超阈值再触发,避免瞬时尖刺误导触发方式对比
| 触发方式 | 适合场景 | 注意 |
|---|---|---|
| 指标触发 | 负载波动规律不固定的业务 | 阈值与观察周期要结合压测结论 |
| 定时触发 | 峰谷规律明确的业务 | 节假日与活动需单独排计划 |
| 目标追踪 | 希望维持固定水位(如 CPU 50%) | 目标值设定不当会持续扩缩 |
用队列积压或并发数等业务指标扩容通常比单一 CPU 指标更贴近真实容量需求,CPU 高不一定代表处理能力不够。
缩容要配合连接排空:直接把正在处理请求的实例下线会造成用户侧错误,应先从负载均衡摘除再等待流量归零。