故障复盘的黄金三问与判定三原则

这篇具有很好参考价值的文章主要介绍了故障复盘的黄金三问与判定三原则。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一条很重要的经验和观点,甚至是颠覆你对故障根因认知的观点:故障根因不止一个,与其争论根因是什么,不如一起看看引起故障的原因都有哪些,是不是都有改进的空间。

所有导致故障和衍生故障发生、业务恢复过程中耗时较长、以及做出错误决策的原因和环节都提炼出来,把这些都算是故障原因,然后针对这些问题和环节制定改进措施。

那这些原因和环节该怎么找呢?在做故障复盘的时候,首先会结合 Timeline 来做,也就是按照 MTTI、MTTK、MTTF 和 MTTV 先做一个分类;然后针对耗时长的环节,反复讨论改进措施是什么;最后定好责任人和时间点,后续持续跟进执行状况。

如果把这些经验再提炼一下,那就是总结出来的故障复盘黄金三问:

第一问:故障原因有哪些?

第二问:我们做什么,怎么做才能确保下次不会再出现类似故障?

第三问:当时如果我们做了什么,可以用更短的时间恢复业务?

具体开复盘会的时候,就是紧扣着这三问来进行的。除此之外不允许出现相互指责和埋怨的情况,如果出现,会议主持者要及时控制并打断。

通过黄金三问,我们找到了故障发生的原因,也明确了做什么可以优化,那接下来就是落地了。要落地,就要明确到底应该由谁来承担主要的改进职责。注意,这里我没有用谁应该承担主要责任,而是承担主要的改进职责,也就是由谁来执行改进措施。

制定了一些故障判定原则,最重要的就是下面这三条。

1. 健壮性原则

这个原则是说每个部件自身要具备一定的自愈能力,比如主备、集群、限流、降级和重试等等。例如,在 B 依赖 A 的状态下,被依赖方 A 出现问题,但是能够快速恢复,而依赖方 B 无法快速恢复,导致故障蔓延。这时,承担主要责任的是依赖方 B,而不是被依赖方 A。

如交换机故障发生主备切换导致的网络瞬时或短暂抖动,从网络设备这个组件来说,自身是有自愈能力的,而且在极短的时间内就可以恢复。如果应用因为抖动而失败、无法自愈,这种情况,业务应用就不能以服务器或网络故障为理由,不承担改进职责。

原则上,核心应用对非核心应用的依赖必须要有降级和限流手段。如果因为非核心应用的故障或者瞬时高并发访问,导致核心应用故障,这种情况下,主要的改进责任在核心应用,非核心应用只需要配合改造。

2. 第三方默认无责

如果使用到了第三方的服务,如公有云的各类服务,包括 IaaS、PaaS、CDN 以及视频等等,我们的原则就是默认第三方无责。

这种涉及第三方服务的情况,在判定改进责任时会分为两部分,对内谁的服务受影响谁改进,并对外推进第三方改进,但是稳定性一定要做到相对自我可控,而不是完全依赖外部。

比如,一个应用使用了 CDN 服务,如果一家 CDN 厂商服务出现问题,要做到随时可以切换到另外一到两家,这时就不能以某家 CDN 服务故障为由不做改进。如果用到了云存储,如 S3、OSS 或 COS 这样的服务,一定要保证存储有主备,当一个区域有问题时,也要做到可切换,甚至容忍一定的业务有损,但是必须保障全量没有大问题。

如果再提升下高可用视角,就要考虑做到双活或多活,单个 Zone 甚至单个 Region 出现问题时,也能做到切换。

3. 分段判定原则

这个原则主要应用在情况比较复杂的场景。当发生衍生故障,或者故障蔓延的原因与触发原因不同时,我们会将一次故障分段判断。这样分段判定会让故障问题更聚焦,改进措施也会更有针对性。

 做个小结,这些原则的根本出发点就是希望你摒弃 “根因只有一个” 这个的观点,以更开放的心态去寻找不足,而且要从自身找不足,目的就是找到更多可以改进的地方,不断从“故障中学习和改进”。

故障是系统运行的常态,正常才是特殊状态”。所以,你无论作为什么角色,一定要以一颗平常心来对待故障,能做到这个程度不容易,这就需要我们更加辩证地看待故障,我们一定要做到鼓励改进,而不是处罚错误。

此文章为4月Day26 学习笔记,内容来源于极客时间《SRE 实战手册》,推荐该课程。文章来源地址https://www.toymoban.com/news/detail-426754.html

到了这里,关于故障复盘的黄金三问与判定三原则的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 架构篇08:架构设计三原则

    成为架构师是每个程序员的梦想,但并不意味着把编程做好就能够自然而然地成为一个架构师,优秀程序员和架构师之间还有一个明显的鸿沟需要跨越,这个鸿沟就是“ 不确定性 ”。 对于编程来说,本质上是不能存在不确定的,对于同样一段代码,不管是谁写的,不管什么

    2024年01月23日
    浏览(43)
  • 视频基础学习一——色立体、三原色以及像素

    本文的目的是为了梳理音视频基础相关的知识,有很多做流媒体、音视频相关的研发对于音视频的根本原理是不清楚的。博主也是查阅了相关的资料一点点进行梳理,从根本上一点点延申到音视频处理上。 | 版本声明:山河君,未经博主允许,禁止转载 了解过视频的同学应该

    2024年02月21日
    浏览(28)
  • 每日三问-前端(第十八期)

    先来回顾一下上期的问题及答案: 2023年6月7日 1. 组件间通信是指在 Vue.js 中,不同组件之间进行数据或事件的传递和交互的过程。常用的组件通信方式包括: 父子组件通信:通过 props 属性将数据从父组件传递给子组件,子组件通过监听 props 的变化来获取父组件传递的数据。

    2024年02月08日
    浏览(39)
  • 灵魂三问之稳定性摸排

    前言 在之前写了篇文章《上线十年,81万行Java代码的老系统如何重构》,在文章后有同学留言问“ 这么复杂的改动,质量是如何应对的 ”,是一个特别好的问题,当时只是从现有的一些监控、测试、卡口手段上进行了回答。但在回答过程当中就在思考一个问题,交接过来的

    2024年02月08日
    浏览(48)
  • 测试工程师:“ 这锅我不背 ” ,面对灵魂三问,如何回怼?

    在一个周末的早餐我被同事小周叫出去跑步,本想睡个懒觉,但是看他情绪不太稳定的样子,无奈艰难爬起陪他去跑步。 只见她气冲冲的对着河边大喊:真是冤枉啊!!! 原来是在工作中被莫名其妙背锅,见她又气氛又不能“伸冤”的样子,真是无比心疼。 产品出了问题,谁

    2023年04月18日
    浏览(35)
  • 【从JVM看Java,三问继承和多态,是什么?为什么?怎么做?深度剖析JVM的工作原理】

    《计算机底层原理专栏》:欢迎大家订阅学习,能够帮助到各位就是对我最大的鼓励! 文章目录 系列文章目录 前言 一、JVM是什么 二、 什么是继承 三、 什么是多态 总结         这篇文章聚焦JVM的实现原理,我更专注于从一个语言的底层原理,去剖析他的语法所实现的意义

    2024年02月05日
    浏览(51)
  • 国际炒黄金策略,炒黄金要怎么炒?

    现货黄金投资在如今这个时代是一种流行的投资行为,在现货黄金交易过程中,黄金的价格走势对于投资者来说是非常重要的。黄金行情主要有阴晴不定的特点,操作也是分为可做或者不可做。只有在黄金走势比较明确的时候,才可以进行投资,保证获得收益,切忌不明朗的

    2024年02月03日
    浏览(32)
  • 基于多目标混合策略鲸鱼优化算法的镜场布局优化-2023国赛数学建模A题第三问解题思路 - 定日镜场的优化设计(详细过程,小白读完就会)

    选择对 EB布局进行更深入的研究,主要探究其布局关键参数方位间距因子 Asf和极限重置因子 Arlim如何取值可以得到光学性能更好的定日镜场。故选择应用改进后的混合策略鲸鱼优化算法对 EB布局进行优化,同时结合实例 Gemasolar电站相关数据进行验证分析。 5.1.1优化目标与工

    2024年02月09日
    浏览(42)
  • 判定条件覆盖法

    判定条件覆盖:判定条件覆盖是指设计若干个测试用例,运行被测程序,使得程序中每个判定本身的判定(真假)分支执行一次,然后,程序中每个判定条件中的逻辑条件至少取一次真值和假值。 假如 if(x0 y0) 就要 if表达式的真假值各取一次并且x和y各取一次真值和假值。 判

    2024年02月06日
    浏览(37)
  • 二分查找与判定树

    二分查找也称“折半查找”,要求查找表为采用 顺序存储结构 的 有序表。本例一律采用升序排列。 二分查找每一次都会比较给定值与序列[low,high]的中间元素,该元素的下标为mid = (low+high)/2,若两者相等,则返回元素的下标为mid;如果arr[mid]key,说明给定值key在中间元素的左边,

    2024年02月09日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包