本文简要介绍以下近年流行的混沌工程相关内容,在此做一个记录,以备查阅。

1. 混沌工程的定义

查阅了大量的资料,发现都没有给混沌工程给出一个较为清晰的定义。在有赞混沌工程的实践 - 不能消灭Bug还不如与之做朋友一文中有一个关于混沌工程的定义,摘录于此:

通过观察分布式系统在基于受控的故障注入测试中的行为变化发掘系统、流程、工具的弱点,并针对性的改进,从而提高系统可靠性,建立系统抵御失控条件的能力和信心。

混沌工程并不是一个新概念,常见的异地容灾测试也是混沌工程的一种应用。应用混沌工程能提升整个系统的弹性。通过设计并且进行混沌实验,我们可以了解到系统脆弱的一面,在还没出现对用户造成伤害之前,主动发现问题,帮助分布式系统提升容错性和可恢复性。



[参看]:

  1. 阿里chaosblade

  2. 阿里巴巴混沌测试工具ChaosBlade两万字解读

  3. Chaos Monkey

  4. 饿了么chaosmonkey实现

  5. 混沌工程(Chaos Engineering) 总结

  6. PRINCIPLES OF CHAOS ENGINEERING