Chaos Engineering


希望探究复杂系统如何应对异常时,对系统中的服务注入通信故障、超时、错误等,这是一个故障注入的典型场景。 希望探究更多其他的非故障类的场景,流量激增、资源竞争条件、拜占庭故障、非计划中的或非正常组合的消息处理等等。

和故障注入类似,故障测试方法通过对预先设想到的可以破坏系统的点进行测试,但是并没能去探究上述这类更广阔领域里的、不可预知的、但很可能发生的事情。

在测试中,要进行断言:即给定一个特定的条件,系统会输出一个特定的结果。 测试一般来说只会产生二元的结果,验证一个结果是真还是假,从而判定测试是否通过。 严格意义上来说,这个实践过程并不能发掘出系统未知的或尚不明确的认知,它仅仅是对已知的系统属性可能的取值进行测验。 而实验可以产生新的认知,而且通常还能开辟出一个更广袤的对复杂系统的认知空间。

故障注入则是对一个特定的条件、变量的验证方法。 混沌工程是发现新信息的实践过程。