适用场景
混沌工程不是"搞破坏",而是用受控实验回答:如果这个组件挂了,系统会怎样?预案有效吗?
配置步骤(实验设计与安全边界)
# 1) 目标:验证某服务单实例故障时是否自动切换
# 2) 稳态指标:错误率 <0.1%,P99 <500ms
# 3) 爆炸半径:单实例、非高峰、限定命名空间
# 4) 终止条件:错误率 >1% 或 P99 >1s 立即停止
关键参数与建议
- 先定义稳态指标(SLI),确保实验可判断
- 从小范围开始:非核心业务、单实例、短时间
- 实验要有终止条件与一键停止
- 覆盖场景:实例宕机、网络延迟/丢包、依赖不可用、磁盘慢、时钟偏移
- 产出:容错缺陷清单与预案改进项
容易踩的坑
- 没有稳态指标,无法判断影响
- 爆炸半径过大,影响真实用户
- 无终止条件,实验失控
验证与巡检
# 证据:实验方案(含稳态指标与终止条件)
- 巡检:每次实验有方案与审批
小结
混沌实验的验收:每次实验都有稳态对比与问题清单。没有产出改进项的实验只是"折腾"。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。