《软件工作之美》材料地址: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 | 遇到线上故障,你和高手的差距在哪里?相关推荐

  1. python3上传文件_Python3学习笔记(十八):文件上传和下载

    importrequests upload_url= 'http://upload.renren.com/upload.fcgi?pagetype=addpublishersingle&hos ...

  2. python3下载文件-Python3学习笔记(十八):文件上传和下载

    importrequests upload_url= 'http://upload.renren.com/upload.fcgi?pagetype=addpublishersingle&hos ...

  3. Mr.J-- jQuery学习笔记(三十二)--jQuery属性操作源码封装

    扫码看专栏 jQuery的优点 jquery是JavaScript库,能够极大地简化JavaScript编程,能够更方便的处理DOM操作和进行Ajax交互 1.轻量级 JQuery非常轻巧 2.强大的 ...

  4. MATLAB学习笔记(十八)

    MATLAB学习笔记(十八) 一.Simulink仿真基础 1.1 Simulink的启动 1.2 系统仿真模型的创建 1.3 仿真参数的设置 1.4 总结 二.子系统的创建与封装 2.1 子系统的创 ...

  5. 嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言

    嵌入式系统设计师学习笔记二十八:嵌入式程序设计③--高级程序设计语言 解释程序和编译程序 编译器的工作阶段示意图 语法错误:非法字符,关键字或标识符拼写错误 语法错误:语法结构出错,if--endif ...

  6. tensorflow学习笔记(三十二):conv2d_transpose (解卷积)

    tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...

  7. OpenCV学习笔记(十六)——CamShift研究 OpenCV学习笔记(十七)——运动分析和物体跟踪Video OpenCV学习笔记(十八)——图像的各种变换(cvtColor*+)imgproc

    OpenCV学习笔记(十六)--CamShift研究 CamShitf算法,即Continuously Apative Mean-Shift算法,基本思想就是对视频图像的多帧进行MeanShift运算 ...

  8. OpenCV学习笔记(十八):凸包,最小包围区域算子:convexHull(),minAreaRect(),minEnclosingTriangle(),minEnclosingCircle()

    OpenCV学习笔记(十八):凸包,最小包围区域算子:convexHull(),minAreaRect(),minEnclosingTriangle(),minEnclosingCircle() 1. ...

  9. JavaScript学习(三十八)—面向过程与面向对象

    JavaScript学习(三十八)-面向过程与面向对象 一.程序设计语言中的两大编程思想:面向对象.面向过程 (一).面向过程 就是指完成某个需求的时候,先分析出完成该需求时所需要经历的步骤有哪些,然 ...

最新文章

  1. Ehcache 3.0发布,修补了API并支持非堆存储
  2. oracle 根据分隔符提取,oracle根据分隔符获取字符串
  3. python爬取网页公开数据_如何用Python爬取网页数据
  4. 与江岭师弟的讨论 - 关于形式化逻辑的局限以及其它
  5. java中文 x_java环境url中文参数乱码处理
  6. 真得好好细讲文件上传,否则漏洞百出
  7. 512抗击震灾捐款背后的思考
  8. Java基础6:代码块与代码加载顺序
  9. 基于深度学习的目标检测
  10. 瀑布模型、V模型、原型模型、增量模型、螺旋模型、喷泉模型
  11. mysql设计一个网上购物系统_网上购物系统的设计与实现(MyEclipse,MySQL)
  12. c语言图像峰值信噪比,PSNRSSIM
  13. 从微软下载Vista Ultimate 中文旗舰版
  14. Medium之1468.计算税后工资
  15. Android中 手机震动功能的实现
  16. 【C++】用递归函数实现Hermite多项式求值
  17. 2013-2014-1(实变函数56, 常微分方程64)
  18. rdesktop远程使用Windows的一些技巧
  19. linux安装网卡驱动教程6,CentOS 6.5安装无线网卡驱动教程
  20. 工作生活可能用得到的资源

热门文章

  1. 《人月神话》:外科手术队伍
  2. 微信小程序开发环境(阿里云服务搭建+可运行的demo)
  3. 腾讯技术开放日 | 腾讯会议如何构建实时视频传输算法架构,来实现用户体验质量最优?
  4. 在计算机网络中 dte,在计算机网络中,DTE设备兼备()的作用
  5. python获取datetime的周和星期
  6. mysql installer安装_MySQL Installer 8.0.21安装教程图文详解
  7. 极米年营收40亿同比增43%:CFO离职 遭百度减持套现3亿
  8. 从麻省理工到云计算创业公司,我经历了什么?
  9. html 萤火虫特效,html5 canvas逼真的夜幕森林萤火虫动画
  10. 程序员如何打造自己的小金库?