加载中...
混沌工程是主动向生产系统注入故障(断网、杀进程、拉高延迟)来发现隐藏脆弱点的实践,核心逻辑是:在你控制的演习中找到问题,比在凌晨三点真实故障时发现要便宜得多。Netflix 的 Chaos Monkey 是这个领域的起点。

| 类型 | 可靠性工程实践 |
| 起源 | Netflix Chaos Monkey,2010 年 |
| 主流工具 | Chaos Mesh、Litmus、Gremlin、AWS FIS |
2010 年,Netflix 正在把服务从自建数据中心迁移到 AWS,工程师们意识到:即使 AWS 每个组件都高可用,多个组件同时出现小概率故障时系统是否还能正常运行,在真正出事之前没人知道。于是他们写了 Chaos Monkey——一个随机在工作时间内(注意是白天,工程师在线)终止生产环境 EC2 实例的工具。
Chaos Monkey 之后,Netflix 扩展出整个「混沌猴子军团(Simian Army)」:Chaos Gorilla 会模拟整个可用区宕机,Latency Monkey 向服务间调用注入延迟,Chaos Kong 模拟整个 AWS Region 不可用。2012 年这套工具开源后,「混沌工程」作为一个正式术语开始流行。[1]
Netflix 工程师 2018 年总结了混沌工程的五条原则:建立稳态假设;在实验组和对照组之间对比;在生产环境运行(测试环境的行为不能代表生产);最小化爆炸半径;自动化并持续运行。
今天的混沌工程工具链比 Chaos Monkey 丰富得多:Chaos Mesh(CNCF 项目,Kubernetes 原生,可注入网络分区、Pod 故障、JVM 异常)、Litmus(另一个 CNCF 混沌工程工具)、AWS Fault Injection Simulator(托管服务,可一键在 AWS 资源上注入故障)。

| 类型 | 可靠性工程实践 |
| 起源 | Netflix Chaos Monkey,2010 年 |
| 主流工具 | Chaos Mesh、Litmus、Gremlin、AWS FIS |
登录 后参与讨论
暂无讨论,来发表第一条评论吧