文章

一、为什么要进行故障演练?

伴随着海量请求、节假日峰值流量和与日俱增的系统复杂度一起出现的,很有可能是预料之中以及意料之外的各种故障。

在很多情况下,由于事故处理预案的缺失或者预案本身的不可靠,以及开发人员故障处理经验的缺失,造成在各种报警之中自乱了阵脚,从而贻误了最佳战机。

特别是一些平时线上没出现过的异常故障,一旦突然出现,往往措手不及。

系统是否足够健壮?是否有足够的能力应对故障的发生?当面临故障时会出现什么行为?我们并不希望真正线上出现故障时才去验证这些问题,这样风险太大,成本太大。

所以希望在线上环境隔离真实流量的情况下,提前模拟产生各种任何可能发生的故障,来观察系统的反应,验证预期策略。

总结一下,故障演练主要有以下几个目标:

确保系统按我们预想的方式应对故障
寻找系统中未预料到的弱点
寻找其他提高系统鲁棒性的方式来避免事故实际发生

阅读更多