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

边栏推荐
- SQL函数 %SQLUPPER
- Favorites|Mechanical Engineer Interview Frequently Asked Questions
- How to Integrate Your Service Registry with Istio?
- Find objects with the same property value Cumulative number Summarize
- CloudCompare & PCL ICP registration (point to face)
- [Cloud Enjoying Freshness] Community Weekly Vol.73- DTSE Tech Talk: 1 hour in-depth interpretation of SaaS application system design
- 英特尔全方位打造算力基础,助推“算”赋百业
- 数字证书原理
- 一文带你读懂云原生、微服务与高可用
- 初级必备:单例模式的7个问题
猜你喜欢
Alibaba Cloud Official Redis Development Specification
并发编程10大坑,你踩过几个?
《MySQL核心知识》第6章:查询语句
芝加哥丰田技术学院 | Leveraging Natural Supervision for Language Representation Learning and Generation(利用自然监督进行语言表示学习和生成)
Pytest电商项目实战(下)
PanGu-Coder:函数级的代码生成模型
Beyond Compare 4 试用期到期
Audio and Video Technology Development Weekly | 256
uniapp读取和写入文件
HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界
随机推荐
初级必备:单例模式的7个问题
SCHEMA solves the puzzle
sql中ddl和dml(数据库表与视图的区别)
kubernetes之DaemonSet以及滚动更新
SCHEMA解惑
.NET性能优化-使用SourceGenerator-Logger记录日志
CloudCompare & PCL ICP registration (point to face)
Qt get all files in a folder
Towhee 每周模型
Favorites|Mechanical Engineer Interview Frequently Asked Questions
【面试高频题】难度 1.5/5,二分经典运用题
SQL functions STR
Audio and Video Technology Development Weekly | 256
Qt获取文件夹下所有文件
CAN通信的数据帧和远程帧
MySQL调优
How much do you know about Amazon reviews?
数据湖 delta lake和spark版本对应关系
Visualization of lag correlation of two time series data in R language: use the ccf function of the forecast package to draw the cross-correlation function, and analyze the lag correlation according t
uniapp读取和写入文件