故障处理的生命周期,可以分为 4 个阶段:发现异常、排查问题、判断决策、恢复处理。这 4 个阶段对应的行动并不是完全串行的,虽然有一定的依赖关系,但在实际的处理过程中应该并行展开。类似 fork/join 的模式,不断完成小任务、不断汇总信息,不断做出判断与决策,形成循环直到故障恢复。
故障发现
通常最早出现异常现象的地方和故障根因关联最大,所以第一时间发现异常对于锁定问题至关重要。
故障排查
发现异常,接下来就是排查故障点和故障原因,故障排查最直接有效的核心思路就是直接锁定 + 排除。
直接锁定:最近的变更点与异常现象间有直接的逻辑关联,进而可以直接锁定到故障点。
排除法:当干扰因素过多(用户、订单等几个系统同时发生变更,引起订单下跌),很难直接锁定到故障点,就要结合业务场景,让整条架构链路上的所有关联方进行自查自证,通过排除法锁定故障。
排除法:当干扰因素过多(用户、订单等几个系统同时发生变更,引起订单下跌),很难直接锁定到故障点,就要结合业务场景,让整条架构链路上的所有关联方进行自查自证,通过排除法锁定故障。
故障决策
能否第一时间止损很大程度上取决于技术 Leader 的现场反应和操作
故障恢复
往往业务决策后就需要执行相应的技术操作,最好的情况当然是在系统设计时就准备了预案,那么此时可以安全且快速地执行,并且对不涉及业务决策的问题可以技术直接操作,节省时间,比如常见的应急“三板斧”:变更回滚、服务重启、降级&限流。
此文章为9月Day021学习笔记,内容来源于极客时间《重学前端》,强烈推荐该课程