一般线上出现了故障,不管是测试还是研发,还是产品,任何角色都会很紧张,但是小bug不可避免 但是正常来说故障确实可以避免的。
那我们处理故障的目标是,尽快恢复运行,最小化对业务运营或者用户使用的不利影响,从而尽可能保证服务质量和可用性。
没有产生故障的测试是不完整的测试,那我们发生了故障应该怎么处理呢?
1、故障处理常规手段
1)服务回滚
如果属于发版本bug导致的问题,可以先回滚到上一个版本,迅速恢复
2)重启
重启基本可以解决大部分问题,一般无法找到原因,比如说服务挂了,缓存问题,日志太多,可通过重启解决。
3)紧急更新
明确问题,修复代码,快速更新上线,需要看问题的影响面以及研发人员和测试的技术。
4)限流和降级
可以先将部分非核心服务或者接口进行降级或者限流处理,避免核心业务受到影响。
2、故障确认说明
1)应急小组同步故障内容,口头描述优先
2)应急小组确认是否需要回滚(各组TL及运维)
3、故障恢复说明
1)确认发布,这回滚到稳定版本
2)故障恢复后,第一时间通知,告知相关业务已解决
3)故障处理人员需要确认是否有数据需要恢复,如有,需要尽快恢复数据
4、故障同步说明
1)P0,P1故障每隔10分钟同步一次,其他可30分钟同步一次
2)同步内容:修复进度,修复时间,故障原因和描述
5、故障处理流程图
6、故障复盘说明
复盘内容:故障发生时间、故障恢复时间、故障等级、故障持续时间、故障原因、故障责任、故障处理过程、故障处理结果、ACTION
人生目标:早日退休~