混沌工程概述
混沌工程不是破坏系统,而是在可控的环境中验证系统的韧性。
Netflix 在 2010 年提出了「Chaos Monkey」——一个在生产环境中随机关闭服务器的实验工具。当时很多人认为这很疯狂,但结果证明:正是因为主动在可控环境中发现系统弱点,Netflix 才能建立起业界最可靠的分布式系统之一。
混沌工程的核心思想是:不要等故障来发现你的防御有多脆弱,而是主动制造故障,验证防御是否有效。
混沌工程 vs 传统测试
混沌工程的价值
混沌工程的前提
在开始混沌工程之前,系统需要满足以下条件:
- 监控和告警已就绪:能够观测到系统状态
- 自动化程度高:能够快速响应和处理故障
- 有回滚能力:能够快速恢复正常状态
- 有稳态定义:知道什么是「正常」状态
混沌工程的成熟度模型
本章总结
核心要点:
- 混沌工程主动发现系统弱点:而不是被动等待故障
- 混沌工程与传统测试互补:测试已知问题,混沌发现未知问题
- 混沌工程有前提条件:监控、自动化、回滚能力
- 混沌工程有成熟度模型:从手动实验到持续实验