Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何快速应对线上故障

如何快速应对线上故障

作者头像
怀朔
发布于 2022-05-25 06:04:38
发布于 2022-05-25 06:04:38
72900
代码可运行
举报
文章被收录于专栏:运维入门时间运维入门时间
运行总次数:0
代码可运行

1

及时汇报、多部门协作排查

发生故障后,不要只顾闷头排查问题,还要及时向你的直属领导汇报故障现象、影响范围、修复措施和修复进度,如果可以,最好再汇报一个大概的恢复时间。这不是浪费时间,而是让你的领导快速了解故障情况,评估风险,以便于协调内外部资源,同时争取更多的决策时间应对老板或业务部门的催促。如果是等级较高的故障就需要联系该系统相关人员一起排查,同时与该业务线的前后端开发、测试、运维及 DBA,多线程并行作战。在清楚故障现象后,各自排查自己负责的模块,最大限度地动用可利用的资源。严重的线上故障一定是要协调各方资源一起排查,因为只有掌握了足够多的信息,才能做出解决问题的正确决策。有必要的情况下,对故障升级要求更多的人投入进来解决该问题

2

稳定第一,快速止损

当你的领导一遍一遍地催促修复,何时修复?业务部门在各种群里不断报出系统不可用时,每耽误一秒都会给公司带来损失,如何快速止损和恢复,常用的几种方式如下。

1. 重启回滚

能重启解决的先重启,重启能更快的释放资源,快速恢复线上运行是首要任务,当然有条件的话最好能保留现场,把某台应用从负载中摘除,以便后续分析。重启不限于应用、虚拟机,还可能是数据库。针对数据库相关的问题,作为开发人员遇到最多的还是数据库连接池被打满的情况,此时除了重启应用释放资源,也可以让 DBA 快速杀掉慢连接,或者快速主从切换。相对于重启所消耗的时间远比看不见何时恢复业务正常运行的时间要容易评估,所以重启是个简单粗暴且往往有效的方式,当然重启的同时其他同学继续跟进排查。回滚有数据回滚、代码回滚和版本库回滚这几种常用操作,上线新功能的时候,测试场景不充分或环境因素导致某个隐藏 Bug 产生,此时需要回滚部分代码重新发布,或直接全量回退到上一个稳定版本,先保障主业务正常运行,最后兼容所有人要知道兼容上一个版本的重要性。

2. 快速修复(应用修复)

部分问题一般能通过异常快速判断、定位问题。这时可通过修改代码、修复异常数据或临时调整配置参数等方式立刻上线。

值得警惕的是,理解一个系统应该如何工作并不能使人成为专家只能靠调查系统为何不能正常工作才行

附赠定位思路:

常规情况下很多时候人都变成无头苍蝇 !

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
人员      现象                             各自处理方式
dba      DB/redis  cpu打满  连接数异常         优先帮我解决DB问题        
运维     带宽打满了 机器资源满了                 优先帮我扩容
研发     JAVA 一直都在爆gc                     先给帮我机器加资源

作者推崇google sre 思路不防先通过业务表面点出来 谁最先开始 有深入一步步 挖掘到问题本质全面问题.

表象是什么 是订单不行 还是商品查不了,他为什么会查不了,是什么原因导致 然后具体模块在深入看看 如果是数据库连接不了 为什么数据库会连接不了 是网络问题还是数据库资源不足,一层一层从业务层往上推 多部门配合往上排查 。

研发人员必看之神书5星级强烈推荐

《SRE Google 运维解密》

JAVA性能排查工具

推荐大家使用https://github.com/alibaba/arthas

3. 限流降级

当流量异常时,限流是常用方式,减轻对底层资源的压力。限流主要包括接入层限流、应用层限流、分布式限流。算法大多采用漏桶、令牌桶、信号量。这些基础的工作需要在平时就部署完成,否则当流量来了只能是被动挨打的份了。当无法保障全部功能恢复时就需要打开降级开关,确保核心流程不受影响。降级需要开发者提前理清那些是强依赖,系统资源不足时去掉那些弱依赖或者直接自动熔断读取提前设置的常量。降级会带来用户体验上的降低,却保障了主业务流程的高可用。

4. 扩容隔离

扩容是提升系统承载能力最快的方式,一台应用扛不住就再部署一台,一个数据库不行就分库分表,做读写分离。当然数据库的扩容需要时间,需要一个有计划的演进过程。隔离是最容易被忽略的,隔离通常分资源隔离和业务隔离。举个例子,以前京东订单核心服务给所有系统调用时,出现订单服务不可用的情况,三方合作商家产生的订单在调用订单服务时,产生了很多异常数据,这是没有做好业务隔离。后来京东为三方系统单独部署了订单服务才互不干扰。

3

清扫战场,及时复盘自我检讨

复盘不是找谁背锅,而是分析问题原因,从故障中找到系统的瓶颈,做好改进计划,避免在同一个坑再次跌倒。复盘可以让团队梳理核心业务上下游的依赖,增强对故障的认识,加深对系统底层资源的理解,更能看到一个人的学习欲望和责任担当。

见过太多的故障相互推诿,不妨从故障角度出发借鉴蘑菇街赵成的复盘黄金三问:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
故障原因有哪些?
我们做什么、怎么做才能确保下次不会再出类似故障?
当时如果我们做了什么,可以用更短的时间恢复业务?

聚焦这三个问题,反复讨论,直至大家认为找到了改进的措施。以上就是今天的内容,应对线上故障的第一要素就是:

在现有可利用资源的基础上怎么做才能快速恢复

“简单粗暴”远胜于“严谨优雅”

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维入门时间 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
生产环境常见问题快速定位及修复技巧
在数字化时代,生产环境已成为企业赖以生存和发展的命脉。无论是电商平台的交易系统,还是金融行业的支付系统,亦或是制造业的供应链管理系统,生产环境的稳定性和可靠性都直接影响着用户体验和业务收入。然而,生产环境并非固若金汤,各种问题随时可能发生,轻则导致服务中断,重则造成数据丢失,甚至危及企业形象。
Front_Yue
2025/03/21
850
生产环境常见问题快速定位及修复技巧
运维规范:线上故障处理的流程模板
建立专门的应急群,将这些事故产品的关键角色纳入其中,当有故障发生时会第一时间在群通报。
星哥玩云
2022/06/21
3.1K0
运维规范:线上故障处理的流程模板
《SRE实战手册》学习笔记之SRE落地实践
前面介绍了SRE的基础,包括SLI和SLO以及Error Budget(错误预算)。其中:
老_张
2022/04/01
2.7K0
《SRE实战手册》学习笔记之SRE落地实践
如何应对线上故障
线上故障是我们技术同学经常遇到,也是技术成长中经常要经历的事。从故障中我们可以吸取到很多教训,变得越来越有经验。
奎哥
2018/08/31
1K0
如何应对线上故障
故障管理杂谈
随着系统复杂度、团队规模的增加,需要一个套方法来应对系统中的各种"黑天鹅",以下为整理的故障应对方法。
wangning
2022/06/13
5360
换个角度,聊聊全链路压测
之前自己也写过好几篇关于全链路压测的文章或者博客,最近看了infoQ上infoQ-数列科技杨德华的专栏,复盘了下自己以往在全链路压测实施方面的工作,发觉还有很多可以做的更好的地方。就以这篇文章来做个总结,顺带说说我自己实施全链路压测工作方面的一些收获和经验。
老_张
2021/01/14
1K0
换个角度,聊聊全链路压测
观《亿级流量网站架构核心技术》一书有感
我们先说高可用的本质诉求:高可用就是抵御不确定性,保证系统7*24小时健康服务。关于高可用,我们其实面对的问题就是对抗不确定性,这个不确定性来自四面八方。比如大地震,会导致整个机房中断,如何应对?比如负责核心系统的工程师离职了,如何应对?再比如下游接口挂了,如何应对?系统磁盘坏了,数据面临丢失风险,如何应对?我想关于上述问题的应对方式,大家在工作中或多或少都有所了解,而这个不确定性的处理过程,就是容灾,其不同的‘灾难’,对应不同的容灾级别。
技术zhai
2019/02/15
8010
线上故障处理手册
通常处理线上问题的三板斧是 重启-回滚-扩容,能够快速有效的解决问题,但是根据我多年的线上经验,这三个操作略微有些简单粗暴,解决问题的概率也非常随机,并不总是有效。这边总结下通常我处理应用中遇到的故障的解决方案。
方丈的寺院
2020/06/03
1.2K0
稳定性治理三,故障预防、发现、处理
稳定性相关的前置知识在前两篇文章已经说的比较多了,个人也在网上对比看了下稳定性相关的内容,都是偏概念,因此此处更加偏向于系统实战设计实现。
阿甘的码路
2023/08/17
9250
稳定性治理三,故障预防、发现、处理
【云+社区年度征文】TeamLeader如何Owner老系统?
做互联网的童鞋们一定都有过这样的经历,看过很多架构书,看过很多架构师成长指南,看过很多优秀的案例分享以及讲座。所以当我们刚毕业的时候,对于大厂的认知一定都是这样的。
小诚信驿站
2020/12/15
1.1K0
【云+社区年度征文】TeamLeader如何Owner老系统?
如何快速处理线上故障
线上故障通常是指大规模的影响线上服务可用性的问题或者事件,通俗点讲就是:掉“坑”里了,这个“坑”就是线上故障!线上故障的处理过程可以形象地表达为:“踩坑”、“跳坑”、“填坑”、“避坑”。
嘉为蓝鲸
2018/12/21
1.8K0
《进化运维技术变革与实践探索》要点总结
很好的一本书,读完大受启发。没有讲具体的技术,就像武功秘籍,提升的是认识和见识。1-4章讲运维的基础,5-7章讲效率和稳定性方面的实践,8-9章讲云计算方面的思考和实践,10章讲个人成长与趋势热点分析。最后拓展讲了一下个人成长和趋势热点的关系。
IT不难
2022/03/24
4980
《进化运维技术变革与实践探索》要点总结
线上故障处理指南
尽快恢复,是止损的最佳办法,至于查找根本原因,或者从根本上解决问题,那是服务恢复可用后的事情
KenTalk
2023/04/07
1.3K0
线上故障处理指南
SRE本质就是一个懂运维的资深开发
SRE 到底是什么?这是一个最早由 Google 提出的概念,我的理解是,用软件解决运维问题。标准化、自动化、可扩展、高可用是主要的工作内容。这个岗位被提出的时候,想解决的问题是打破开发人员想要快速迭代,与运维人员想要保持稳定,拒绝频繁更新之间的矛盾。
iginkgo18
2022/03/14
5.7K1
从被动应对到主动防御:开发团队技术故障处理能力的全面升级,未雨绸缪,制胜未来!
虽然不直接涉及最近的事件,但以下是一些历史上大型平台出现过的故障及其问题,这些案例也提供了宝贵的经验和教训:
小白的大数据之旅
2024/11/20
1670
从被动应对到主动防御:开发团队技术故障处理能力的全面升级,未雨绸缪,制胜未来!
如何做好线上服务质量保障
看到这个问题,我的第一反应是问题太宽泛,不够明确。我反问了她一个问题:“你需要什么高可用?业务高可用?服务高可用?数据库高可用?还是其他?”针对问题我也给出了我的理解和方案,大致内容如下:
老_张
2023/03/01
6690
如何做好线上服务质量保障
高可用性系统在大众点评的实践与经验
原文出处: 美团点评技术博客 所谓高可用性指的是系统如何保证比较高的服务可用率,在出现故障时如何应对,包括及时发现、故障转移、尽快从故障中恢复等等。本文主要以点评的交易 系统的演进为主来描述如何做到高可用,并结合了一些自己的经验。需要强调的是,高可用性只是一个结果,应该更多地关注迭代过程,关注业务发展。 可用性的理解 理解目标 业界高可用的目标是几个9,对于每一个系统,要求是不一样的。研发人员对所设计或者开发的系统,要知道用户规模及使用场景,知道可用性的目标。 比如,5个9的目标对应的是全年故障5分钟。
wangxl
2018/03/08
1.4K0
高可用性系统在大众点评的实践与经验
【稳定性】关于缩短MTTR的探索
Tech 导读 当系统出现故障时,需要通过一些指标来衡量故障的严重程度和影响范围,其中MTTR(Mean Time To Repair 名为平均修复时间)是一个非常重要的指标。本文将从监控报警识别、如何快速发现问题、快速止血缓解系统线上问题、利用现有工具智能分析、快速定位解决问题等维度来降低MTTR,最后编写了团队快速缩短MTTR三字经,提升系统稳定性。
京东技术
2023/11/13
5700
【稳定性】关于缩短MTTR的探索
事中故障处理(4)故障定位
故障恢复指恢复业务连续性的应急操作,很多故障是在不断尝试验证解决恢复的动作,所以故障恢复环节与故障定位环节有一定的交叠,或在这两个环节之间不断试错的循环,即故障恢复操作可能和故障诊断是同时,也可能是诊断之后或诊断之前。在故障恢复中我们通常采用已知预案下的恢复三把斧:“重启、回切、切换”、自动或手动触发系统架构高可用策略、临时决断的恢复动作,以及恢复后的信息传递。
彭华盛
2021/10/08
1.5K0
微服务架构如何避免大规模故障?
微服务架构通过一种良好的服务边界划分,能够有效地进行故障隔离。但就像其他分布式系统一样,在网络、硬件或者应用级别上容易出现问题的机率会更高。服务的依赖关系,导致在任何组件暂时不可用的情况下,就它们的消费者而言都是可以接受的。为了能够降低部分服务中断所带来的影响,我们需要构建一个容错服务,来优雅地应对特定类型的服务中断。
lyb-geek
2021/12/10
4350
微服务架构如何避免大规模故障?
相关推荐
生产环境常见问题快速定位及修复技巧
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验