当前位置:网站首页>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

边栏推荐
- HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界
- Data frame and remote frame of CAN communication
- markdown常用数学符号cov(markdown求和符号)
- Tencent Cloud Native: Service Mesh Practice of Areaki Mesh in the 2022 Winter Olympics Video Live Application
- 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
- Simulation implementation of new of Js handwritten function
- 一文带你彻底厘清 Isito 中的证书工作机制
- R language fitting ARIMA model: use the auto.arima function in the forecast package to automatically search for the best parameter combination, model order (p, d, q), set the seasonal parameter to spe
- 如何成功通过 CKA 考试?
- Grafana9.0发布,Prometheus和Loki查询生成器、全新导航、热图面板等新功能!
猜你喜欢

Alibaba Cloud Official Redis Development Specification

重磅消息 | Authing 实现与西门子低代码平台的集成

【倒计时5天】探索音画质量提升背后的秘密,千元大礼等你来拿

通讯录(静态版)(C语言)(VS)

字体反爬之好租

找出相同属性值的对象 累加数量 汇总

数据湖 delta lake和spark版本对应关系

收藏|机械工程师面试常问问题

【StoneDB Class】入门第二课:StoneDB 整体架构解析

【StoneDB Class】Introduction Lesson 2: Analysis of the Overall Architecture of StoneDB
随机推荐
This article will take you to thoroughly clarify the working mechanism of certificates in Isito
数字证书原理
Istio Meetup China: Full Stack Service Mesh - Aeraki Helps You Manage Any Layer 7 Traffic in an Istio Service Mesh
R语言ggplot2可视化:使用ggpubr包的ggdensity函数可视化密度图、使用stat_central_tendency函数在密度中添加均值竖线并自定义线条类型
阿里云官方 Redis 开发规范
字体反爬之好租
.NET性能优化-使用SourceGenerator-Logger记录日志
2022 Go生态圈 rpc 框架 Benchmark
腾讯云原生:Areaki Mesh 在 2022 冬奥会视频直播应用中的服务网格实践
【StoneDB Class】入门第二课:StoneDB 整体架构解析
[Unity3D Plugin] AVPro Video Plugin Share "Video Player Plugin"
Meshlab&Open3D SOR滤波
安装apex报错
程序员如何优雅地解决线上问题?
《MySQL核心知识》第6章:查询语句
How to integrate 3rd party service center registration into Istio?
Envoy source code flow chart
表连接详解
AI目标分割能力,无需绿幕即可实现快速视频抠图
英特尔全方位打造算力基础,助推“算”赋百业