碎片时间杂学 2020.6.11 应对故障及故障改进

故障源团队通常会有以下几种手段来恢复系统:重启和限流、回滚操作、降级操作、紧急更新。

最重要的不是 debug 故障,而是尽可能地减少故障的影响范围,并尽可能快地修复问题。

故障前的准备工作:

1. 以用户功能为索引的服务和资源的全视图

2. 为地图中的各个服务制定关键指标,以及一套运维流程和工具,包括应急方案

3. 设定故障的等级

4. 故障演练

5. 灰度发布系统

故障复盘过程:

1. 故障处理的整个过程

2. 故障原因分析

3. Ask 5 Whys

4. 故障后续整改计划

故障整改方法:

1. ask and why:

为什么从故障发生到系统报警花了 27 分钟?为什么只发邮件,没有短信?

为什么花了 15 分钟,开发的同学才知道是慢 SQL 问题?

为什么监控系统没有监测到 Nginx 499 错误,以及 Nginx 的 upstream_response_time 和 request_time?

为什么在一开始按 DDoS 处理?

为什么要重启数据库?

为什么这个故障之前没有发生?因为以前没有上首页,最近上的。

为什么上首页时没有做性能测试?

为什么使用这个高危的 SQL 语句?

上线过程中为什么没有 DBA 评审?

2. 优化方向

第一,优化故障获知和故障定位的时间。

第二,优化故障的处理方式。

第三,优化开发过程中的问题。

第四,优化团队能力。

3. 找到问题的本质

4. 解决问题原则

举一反三解决当下的故障。

简化复杂、不合理的技术架构、流程和组织。

全面改善和优化整个系统,包括组织。解决问题的根本方法是改善和调整整体结构。

你可能感兴趣的:(碎片时间杂学 2020.6.11 应对故障及故障改进)