软件工程之美学习笔记三十八 37 | 遇到线上故障,你和高手的差距在哪里?
《软件工作之美》材料地址:https://time.geekbang.org/column/article/97219
遇到线上故障,新手和高手的差距在哪里?
新手遇到复杂的线上故障,不知道该怎么下手
- 第一步,评估影响范围;
- 第二步,试图重现问题;
- 第三步,临时方案和终极方案;
- 第四步,风险评估及持续优化。
新手遇到线上故障,会想着马上修复 Bug
恢复生产、降低损失是第一要务,修复 Bug 是其次的。
新手遇到线上故障,不知道如何快速定位到 Bug 在哪
关键在于通过有效的手段,逐步缩小问题范围,直到找到 Bug在哪里。
- 重现Bug
- 分析错误日志
- 缩小问题范围
- 排除法
新手解决完线上故障后,下次可能还会发生类似故障
仔细分析 Bug 产生的原因,从根本上解决,避免类似的故障再次发生
大厂都是怎么处理线上故障的?
把高手解决故障的方式,变成故障处理的流程和操作手册,并且通过反复地故障演习。不断练习和强化对故障处理的流程,让系统更健壮,让新手也可以快速上手,做到高效处理线上故障。
首先,对故障进行评级。
其次,要马上恢复生产,避免进一步损失。
另外,要分析故障原因,修复故障。
最后,记录故障发生处理全过程,分析故障原因,提出后续改进方案。
大厂处理线上故障处理机制有哪些值得借鉴的地方?
故障报警和轮值机制
实战演习
日志记录和分析工具
参考
《SRE:Google 运维解密》
《阿里如何应对电商故障?》
《滴滴是如何高效率处理线上故障的?》
《以毒攻毒: Google、Amazon、Netflix 如何用混沌工程控制系统风险 》
我的留言
这是ITIL要解决的问题。我觉得最主要还是从三个方面来看。一是从流程上,对于事件管理、问题管理、变更管理、服务等级管理等,要有明确的流程。二是要有合适的工具,比如ticket系统,CMDB,监控工具、日志平台等。三是从人员组织来看,要有一线、二线和三线团队的支持,根据所创建的ticket的严重性和紧急性,给予不同level的支持。当然这也是目前流行的devops要解决的问题。
软件工程之美学习笔记三十八 37 | 遇到线上故障,你和高手的差距在哪里?相关推荐
- python3上传文件_Python3学习笔记(十八):文件上传和下载
importrequests upload_url= 'http://upload.renren.com/upload.fcgi?pagetype=addpublishersingle&hos ...
- python3下载文件-Python3学习笔记(十八):文件上传和下载
importrequests upload_url= 'http://upload.renren.com/upload.fcgi?pagetype=addpublishersingle&hos ...
- Mr.J-- jQuery学习笔记(三十二)--jQuery属性操作源码封装
扫码看专栏 jQuery的优点 jquery是JavaScript库,能够极大地简化JavaScript编程,能够更方便的处理DOM操作和进行Ajax交互 1.轻量级 JQuery非常轻巧 2.强大的 ...
- MATLAB学习笔记(十八)
MATLAB学习笔记(十八) 一.Simulink仿真基础 1.1 Simulink的启动 1.2 系统仿真模型的创建 1.3 仿真参数的设置 1.4 总结 二.子系统的创建与封装 2.1 子系统的创 ...
- 嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言
嵌入式系统设计师学习笔记二十八:嵌入式程序设计③--高级程序设计语言 解释程序和编译程序 编译器的工作阶段示意图 语法错误:非法字符,关键字或标识符拼写错误 语法错误:语法结构出错,if--endif ...
- tensorflow学习笔记(三十二):conv2d_transpose (解卷积)
tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...
- OpenCV学习笔记(十六)——CamShift研究 OpenCV学习笔记(十七)——运动分析和物体跟踪Video OpenCV学习笔记(十八)——图像的各种变换(cvtColor*+)imgproc
OpenCV学习笔记(十六)--CamShift研究 CamShitf算法,即Continuously Apative Mean-Shift算法,基本思想就是对视频图像的多帧进行MeanShift运算 ...
- OpenCV学习笔记(十八):凸包,最小包围区域算子:convexHull(),minAreaRect(),minEnclosingTriangle(),minEnclosingCircle()
OpenCV学习笔记(十八):凸包,最小包围区域算子:convexHull(),minAreaRect(),minEnclosingTriangle(),minEnclosingCircle() 1. ...
- JavaScript学习(三十八)—面向过程与面向对象
JavaScript学习(三十八)-面向过程与面向对象 一.程序设计语言中的两大编程思想:面向对象.面向过程 (一).面向过程 就是指完成某个需求的时候,先分析出完成该需求时所需要经历的步骤有哪些,然 ...
最新文章
- Ehcache 3.0发布,修补了API并支持非堆存储
- oracle 根据分隔符提取,oracle根据分隔符获取字符串
- python爬取网页公开数据_如何用Python爬取网页数据
- 与江岭师弟的讨论 - 关于形式化逻辑的局限以及其它
- java中文 x_java环境url中文参数乱码处理
- 真得好好细讲文件上传,否则漏洞百出
- 512抗击震灾捐款背后的思考
- Java基础6:代码块与代码加载顺序
- 基于深度学习的目标检测
- 瀑布模型、V模型、原型模型、增量模型、螺旋模型、喷泉模型
- mysql设计一个网上购物系统_网上购物系统的设计与实现(MyEclipse,MySQL)
- c语言图像峰值信噪比,PSNRSSIM
- 从微软下载Vista Ultimate 中文旗舰版
- Medium之1468.计算税后工资
- Android中 手机震动功能的实现
- 【C++】用递归函数实现Hermite多项式求值
- 2013-2014-1(实变函数56, 常微分方程64)
- rdesktop远程使用Windows的一些技巧
- linux安装网卡驱动教程6,CentOS 6.5安装无线网卡驱动教程
- 工作生活可能用得到的资源
热门文章
- 《人月神话》:外科手术队伍
- 微信小程序开发环境(阿里云服务搭建+可运行的demo)
- 腾讯技术开放日 | 腾讯会议如何构建实时视频传输算法架构,来实现用户体验质量最优?
- 在计算机网络中 dte,在计算机网络中,DTE设备兼备()的作用
- python获取datetime的周和星期
- mysql installer安装_MySQL Installer 8.0.21安装教程图文详解
- 极米年营收40亿同比增43%:CFO离职 遭百度减持套现3亿
- 从麻省理工到云计算创业公司,我经历了什么?
- html 萤火虫特效,html5 canvas逼真的夜幕森林萤火虫动画
- 程序员如何打造自己的小金库?