当前位置:网站首页>10年稳定性保障经验总结,故障复盘要回答哪三大关键问题?|TakinTalks大咖分享
10年稳定性保障经验总结,故障复盘要回答哪三大关键问题?|TakinTalks大咖分享
2022-08-01 12:45:00 【InfoQ】
- 怎么有效降低故障的影响?
- 事故处理的流程和原则有哪些?
- 相关管理制度怎么设置比较合理?
- 事故复盘不是给人定责的,要有系统思维将优化项实际落地才能推动系统优化;
- 事故报告的重点应该是事故提升项,监控、定位、根因、架构四个部分都必须涉及;
- 事故报告的价值不仅仅是记录复盘故障,集中管理起来是很好的培训资料,能避免新人入职后走弯路;
- 架构师review是整个事故报告价值最大化重要的一部分,可以横向帮助企业研发团队相互借鉴避坑。

- 怎么有效降低故障的影响?
- 事故处理的流程和原则有哪些?
- 相关管理制度怎么设置比较合理?
一、怎么有效降低故障的影响?
1、确定高可用目标,然后拆分它

2、从不同角度去想,具体能做些什么
2.1 增大MTBF
- 首先是开发过程的质量控制,这个很重要;
- 其次是压测规范,因为很多不可用都来自压力过大,压力过大导致系统直接爆了,所以压测需要规范起来;
- 最后是上线流程,很多故障都发生在上线的瞬间,因为上线就意味着变更,变更就是事故的一个常见来源,明确上线前如何进行灰度,问题怎么排查怎么回滚,这些上线流程做好了也能规避掉一些事故。
2.2 减少MTTR

1)故障发现阶段
2)故障诊断阶段
3)修复/止损阶段
- 值班制度:要求随时有一个人能够拿到电脑来操作解决问题;
- 双人互备制度:当一个模块只有一个人了解具体的逻辑,万一这个人不能及时支援就会出问题,所以在研发的时候就要考虑到这个,每个模块都起码有2个对整体理解透彻的人;
- 现场指挥制度:每次遇到大型事故现场都会非常混乱,所以这块的设计就显得很重要,也能有效缩减修复的时间。
二、事故处理的流程及原则有哪些?
1、止损
1)止损永远是第一优先级
2)在保证止损效果的同时尽可能的保留事故现场
3)止损现场要有一个决策人
4)止损现场保持沟通
5) 及时通知客服团队
2、定位
1) 止损基本完成前不要花精力在定位上
2)不要轻易中止定位
3) 定位相关信息要时时记录
4) 定位的结论可以是无法定位,但要给出后续改进意见
3、快速复盘
4、事故报告
1)事故影响
2)事故时间线
3)事故原因分析
4)事故提升项
- 监控:两个自检的方向,事故发生后你是否第一时间收到了监控告警,事故发生前有征兆,征兆的内容是否监控到了,如果这两个部分都OK那基本可以说监控部分没有问题。
- 定位:现有的定位流程是否通畅,有没有什么改进的点,比如说需要一些工具,或者说完善日志的全文检索能力、日志的格式化与可视化能力,以此来提升定位的效率。
- 根因:根因是整个事故报告里最简单的部分,什么原因导致的事故修复优化了哪些东西。额外要说的一点是一个系统必须有2层防御能力,只有这样才能放心,不用担心下一次会出现一样的问题。
- 架构:有些问题是需要通过更加宏观的变更来解决的,这部分要明确如何通过架构的变更来从根本上来消除事故的隐患。
5、架构师review
- 督促大家产出的事故报告得合格,必须信息完整、根因分析透彻合理、提升项没有问题;
- 在各个团队间进行举一反三,对类似的风险点进行排查;
- 提供一个不同团队之间高等级的架构师的交流平台,互相学习;
6、整改跟进
三、相关管理制度怎么设置比较合理?
1、不要给低等级事故设指标
2、事故报告不要追究人的责任
3、要培训鼓励大家写事故报告
4、事故报告要集中管理
四、一个小小的实践分享
五、写在最后
1、自动根因分析
2、黄灯与自动修复
3、K8s+混沌测试冲击5个9

边栏推荐
- 华盛顿大学、Allen AI 等联合 | RealTime QA: What's the Answer Right Now?(实时 QA:现在的答案是什么?)
- Feign 从注册到调用原理分析
- CAN通信标准帧和扩展帧介绍
- R language ggplot2 visualization: use ggpubr package ggscatter function visualization scatterplot, use xscale wasn't entirely specified X axis measurement adjustment function, set the X coordinate for
- Beyond Compare 4 trial period expires
- formatdatetime函数 mysql(date sub函数)
- 测试发文
- 达梦更换正式授权dm.key
- 2022 Go生态圈 rpc 框架 Benchmark
- 表连接详解
猜你喜欢

蔚来又一新品牌披露:产品价格低于20万

HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界

【讲座分享】“营收“看金融

2022 Go ecosystem rpc framework Benchmark

【StoneDB Class】Introduction Lesson 2: Analysis of the Overall Architecture of StoneDB

力扣160题,相交链表

CloudCompare&PCL ICP配准(点到面)
![[Open class preview]: Research and application of super-resolution technology in the field of video quality enhancement](/img/fc/cd859efa69fa7b45f173de74c04858.png)
[Open class preview]: Research and application of super-resolution technology in the field of video quality enhancement

华盛顿大学、Allen AI 等联合 | RealTime QA: What's the Answer Right Now?(实时 QA:现在的答案是什么?)

MySQL调优
随机推荐
STM32 CAN filter configuration details
R语言ggplot2可视化:使用ggpubr包的ggdensity函数可视化密度图、使用stat_central_tendency函数在密度中添加均值竖线并自定义线条类型
MMF的初步介绍:一个规范化的视觉-语言多模态任务框架
Tencent Cloud Native: Service Mesh Practice of Areaki Mesh in the 2022 Winter Olympics Video Live Application
小程序插件如何帮助开发者受益?
芝加哥丰田技术学院 | Leveraging Natural Supervision for Language Representation Learning and Generation(利用自然监督进行语言表示学习和生成)
字体反爬之好租
Audio and Video Technology Development Weekly | 256
Do wildcard SSL certificates not support multiple domains?
Fault 007: The dexp derivative is inexplicably interrupted
markdown常用数学符号cov(markdown求和符号)
Complete Raiders of JS Data Type Conversion
线上问题排查常用命令,总结太全了,建议收藏!!
How to use DevExpress controls to draw flowcharts?After reading this article, you will understand!
初级必备:单例模式的7个问题
Js手写函数之new的模拟实现
【讲座分享】“营收“看金融
浏览器存储
Beyond Compare 4 试用期到期
kubernetes之DaemonSet以及滚动更新