从稳定性保障角度看故障演练

目录

一、稳定性保障的三个层面

二、故障演练目的

三、如何选择故障演练场景

1、分析历史年限上的故障

2、系统强弱依赖分析

3、核心中间件异常分析

四、故障演练的环境

五、演练的风险控制

感悟


一、稳定性保障的三个层面

稳定性保障有三个层面:

1、常态下的稳定性(功能稳定性,通常功能测试覆盖);

2、高压下的稳定性(通过性能测试覆盖);

3、异常时的稳定性(通过故障演练中,评估紧急预案、限流、告警等覆盖)

二、故障演练目的

监控能否及时发现问题;

预案是否符合预期;

人员操作是否熟练;

发现未知问题;

总之:”大事化小,小事化了“,小异常不引发故障,小故障不引发大故障。从稳定性来看,故障演练也是稳定性保障的一部分。

三、如何选择故障演练场景

总体原则:选择发生概率大,产生影响大的故障,进行演练

具体梳理来源:

1、分析历史年限上的故障

总结比较有价值的故障(更多故障移步:典型故障分析故障的坑,你踩了多少遍),对其原因分类:

配置变更

实现问题;

发布问题;

系统异常(自身/第三方问题);

2、系统强弱依赖分析

原则:允许强依赖异常时影响系统的主流程;但不允许弱依赖异常时影响系统的主流程

梳理系统的强弱依赖;

为弱依赖异常时添加异常处理/降级等;

模拟弱依赖异常情况,验证预期;

3、核心中间件异常分析

异常场景:高并发下,中间件容易异常

常见的场景:A,B共用中间件C, A流量猛增,B流量不变的情况下,应该确保C做了预案,B不会受级联影响

四、故障演练的环境

预发环境:流量下无法验证告警

线上:为避免风险,选择低流量场景

线上高压下:压测场景下做

统一演练:例如 缓存不可用,网络不可用,机房不可用等,可以配合对应部门同学一起演练。

五、演练的风险控制

干扰与影响平衡:上下游业务同时演练可能互相干扰;但不同时演练又可能影响上下游业务

感悟

之前写过如何减少线上故障的博客,但实质上,故障演练也是减少线上故障的方法之一。故障演练常态化,自动化建设也是持续稳定性建设的一部分工作。故障演练,其实是对系统、对人员配合的综合锤炼。只有常常演练,才能保证系统能力、人员能力不退化。

发布了397 篇原创文章 · 获赞 445 · 访问量 82万+

猜你喜欢

转载自blog.csdn.net/wodeyijia911/article/details/102892735