- 起源 -
混沌工程是在分布式系统上进行实验的学科, 目的是建立对系统抵御生产环境中失控条件的能力以及信心。由Netflix在2010年底提出,2012开源Chaos Monkey(混乱猴子),中间经过了一系列的演化。具体路线为:
国内则是阿里在12年内部尝试使用,经过6年实践,最后在19.03.28开源了ChaosBlade,目前最新版本ChaosBlade0.6发行于20.05.27。
混沌工程应用场景比如有:
-
提升系统容错能力以及稳定性
-
评估系统容灾红线
-
验证云服务的动态扩展能力
-
验证监控和告警的有效性以及指标是否全面
-
故障突袭,提升相关人员定位,故障问题的能力
- 混沌工程原则 -
混沌工程原则是混沌工程的原理和设计指导思维。
为了保障系统在未来不会遭受大规模中断事故,冒一点可控的风险是值得的。
找到那些本不应该让系统崩溃的事件的原因,包括那些还从未发生过的事件,保证系统的高可用。