啪的一下,线上就出故障了,很快啊

2024-08-27 01:32
文章标签 线上 故障 一下 很快

本文主要是介绍啪的一下,线上就出故障了,很快啊,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

阅读本文大概需要 6.66 分钟。

大家好,我是小贺。


前言

又到周末了,大家心情是不是很愉快啊,小贺也是,临近周末,都没心思干活写代码了,这不,一不小心就出事故了。

啪的一下,线上就出故障了,很快啊,表明佯装镇定其实内心慌得一批啊,紧急处理问题,提测上线,拿手机验证观察了一阵确认没有问题之后,才背起书包安心的下班。出了写字楼,那冷风呼呼地吹在脸上,不知道有多酸爽了。。

好了,下面就来回顾一下事情的经过吧。希望各位吃瓜的小伙伴能引以为戒。

1、事件回顾  

下午 16 点左右,正在工位上摸鱼的我,正想着周末要干点什么的时候,微信有人给我发消息,我点开消息一看,原来是产品小姐姐给我反馈了一个问题,说是线上刚发现的故障,还没等我回复,随机又把我拉进了一个群,群名赫然写着:APP 快速问题讨论。。

纳尼,线上故障?快速问题讨论?看到这几个字,突然有一种隐隐的预感:难不成我写的代码又出啥幺蛾子啦?

没事没事,小贺倒吸一口凉气,觉得应该不是什么大问题,正好有点口渴,随即起身去茶水间接了一杯水,喝完水回到工位上之后,点开群把消息瞅了一眼,哦,原来是有同事反馈线上 APP 打开使用有个问题。

简单来说,就是用户点击结果页跳转的链接 URL 不对,打开同一个网页,原来小贺所在的后端组会给客户端下发的是 A 链接,现在却变成了 B 链接, 然而 B 链接识别有点问题,导致部分地域的用户打开不了。。。

2、问题定位  

线上的问题,难道是???

不对啊,这个功能前不久刚上线的啊,也经过测试验证过了,线上代码也运行了一段时间了啊,怎么之前没有发现问题呢?

在动手修复代码之前,小贺带着疑问屁颠屁颠去找产品小姐姐问个究竟,和产品小姐姐当面沟通了一下,沟通的结果是,这个现象对应的某个功能在之前的需求里是按要求要实现的,但是现在是没有实现的,所以产生线上故障了,需要立马修复!

此时,回到工位上的我,表面上波澜不惊,其实心里已经慌的一批,因为这次的问题不是功能出了问题,而是功能没有实现。。。

立马登录服务器,敲击着各种命令,查看着日志,把最新的代码同步到本地,review 代码,进一步确认问题的根源,就是当初这个需求对应的链接修改规则没有实现,导致线上的版本没有实现这个功能,所以出现了开头的现象。

我立马找到当初的需求文档,把对应的需求点仔细,从头到尾的看了一遍,在我确认需求文档里面确实没有提到这个功能之后,一瞬间,我瞬间背后一凉。短时间内要实现功能?看群里反馈很紧急的样子,今晚我能修复的完么?意识到了问题的严重性的我,居然有点不知所措了。

3、讨论解决方案  

这个时候,测试同学也来到了我的工位,询问一下具体情况,到底是怎么一回事,我和他们解释了一下产生的现象和原因,测试的那边同学还是有经验,立马就有人反应说,如果来不及上线新的代码的话,是否可以把代码回滚到某一个版本。

然后开发的还是继续修复,这样留给修复的时间也充足些,当时大家想了一下,觉得这样不行,因为在这一版需求之后线上代码已经更新了好几回了,回滚不现实,于是这个方案被否决了。

后来又讨论说,能不能在配置平台的地方进行紧急干预,限制一下用户的版本,让某一个版本的用户不下发对应的数据,和产品讨论了一下,发现这个临时方案也不行,因为不是低版本的用户不下发数据,而是下发数据本身是不对的,其它用户也会受到影响,于是,这个方案也被否决了。

最终,讨论完了,结论就是,还是要改代码,嗯,啥都不说了,赶紧修复吧。

4、问题解决  

这个时候,我的 leader 也在知道了这件事情,把我叫了过去,虽然我和我的 leader 的工位很近,但往 leader 的位置上走向的时候,心里也是忐忑不安的,早已经做好了被批评的准备。

没想到,我把事情的来龙去脉给 leader 复述了一遍之后, leader 看上去波澜不惊,非常平静的样子,一点也没有责怪我的意思,反而是耐心的倾听我的想法。一边 review 我的代码,一边问我打算怎么做。

我简单快速的说了一下我的思路(当时情况紧急,根本来不及我多思考,我下意识的想到了一个最笨的方法), leader 听了我的思路,想了一会,在听取了我的想法之后给我指出了解决问题的另外一个思路,指着我的代码,对我说,其实不需要改太多的逻辑,你看看,因为这xxx 所以xxx ,你这样改是不是比较快。

我想了想,觉得 leader 说的有点道理,比我想的那个实现方案要好,我说我先实现一下,验证一下是否可行。

然后就回工位,投入到紧急修复代码模式,这时距离产品提出问题不到半个小时。

紧接着,18 点左右紧急修复代码完并自测完毕之后,准备提测;

21 点测试完紧急上线;

22 点上线完成;

上线完成之后,配合测试同学盯了一圈监控指标发现没有异常,我才终于舒了一口气。。。

5、事后反思  

需求文档里没有提到的功能,后续可能也是需要实现,这个有可能是产品没有注意写进去,更大的可能是开发的同学需要及时和产品确认,确认清楚清楚,在投入开发,防止出现小贺今天的这种情况。

每一次的功能实现最好能有一个记录,本次实现解决了什么问题,修改了什么地方,以后出了问题能及时去回溯,方便定位问题。出了问题,立马修复,思考最优的解决方案,如果时间紧急,就应该考虑最快的最安全的解决方案。

像之前爆出的互联网大厂阿里云服务器出故障,那影响面就广了,如果服务器是广告平台之类的出了故障,对应的可是实打实的利润的流失啊。


通过这次事情,大家也看到了,后端研发在做前端或者app的研发人看来很高大上,但其实不然,几乎每天要处理各种线上问题,为前端为app做协议兼容,设计方案评审,代码 review,和产品扯需求,深夜升级服务等等。

这里呢,经过这次事故,小贺也是有所感悟,遇到突发事件还是要镇定,理性的解决问题,只有想清楚了问题的根源,加上对业务本身的熟悉,你才能游刃有余的处理问题,因为线上问题不容得你有充足的时间去修复,必须紧急定位修复。

PS:如果大家在阅读的过程中,有什么建议和看法,非常欢迎在下方留言,每个留言我都会认真看的

我是 herongwei ,一个五道口搬砖打工仔,祝大家周末愉快,我们下期见。

推荐阅读:

在宇宙中心五道口上班,是怎样一种体验

一次项目延期-从自我怀疑到反思内心的真实经历

请教了几位万粉号主的深夜反思

认真的人,自带光芒!

原创不易

点个在看哦

 

这篇关于啪的一下,线上就出故障了,很快啊的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1110250

相关文章

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

【详细介绍一下GEE】

GEE(Google Earth Engine)是一个强大的云计算平台,它允许用户处理和分析大规模的地球科学数据集,如卫星图像、气候模型输出等。以下是对GEE用法的详细介绍: 一、平台访问与账户设置 访问GEE平台: 用户可以通过访问Google Earth Engine的官方网站来开始使用GEE。 创建账户: 用户需要注册并登录Google账户,然后申请访问GEE平台。申请过程可能需要提

如何打造个性化大学生线上聊天交友系统?Java SpringBoot Vue教程,2025最新设计思路

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 | SpringBoot/SSM Python实战项目 | Django 微信小程序/安卓实战项目 大数据实战项目 ⚡⚡文末获取源码 文章目录

笔记本电脑开机报错故障的原因及解决办法

笔记本电脑开机报错故障是指笔记本电脑开机自检时或启动操作系统前停止启动,在显示屏 出现一些错误提示的故障。   笔记本电脑开机报错故障的原因及解决办法   造成此类故障的原因一般是笔记本电脑在启动自检时,检测到硬件设备不能正常工作或在自 检通过后从硬盘启动时,出现硬盘的分区表损坏、硬盘主引导记录损坏、硬盘分区结束标志丢失 等故障,笔记本电脑出现相应的故障提示。   维修此类故障时

Windows系统不关机故障的解决方法

当Windows系统出现不关机故障时,首先要查找引起Windows系统不关机的原因,然后根据 具体的故障原因采取相应的解决方法。   Windows系统不关机故障的解决方法如下。   1.检查所有正在运行的程序   检查运行的程序主要包括关闭任何在实模式下加载的TSR程序、关闭开机时从启动组自动启 动的程序、关闭任何非系统引导必需的第三方设备驱动程序。   检查运行的程序并停

IBM Storwize V7000存储控制器故障节点报错574

背景:由于客户机房搬迁,需要下电迁移设备。该存储自2016年投入生产使用后,从未关过机,已正常运行七八年时间,期间只更换过硬盘,无其他硬件故障。 在GUI界面点击关闭系统后,大概等了40分钟,存储仍未关机,所有硬盘状态灯绿色常亮,面板无报错。到设备后面看控制器的状态,发现node2已经正常关机了,node1仍然在运行,又等了大概20分钟还没有关机,直接将电源线给拔掉了。 再次上电以后,发现

服务器数据恢复—Raid磁盘阵列故障类型和常见故障原因

出于尽可能避免数据灾难的设计初衷,RAID解决了3个问题:容量问题、IO性能问题、存储安全(冗余)问题。从数据恢复的角度讨论RAID的存储安全问题。 常见的起到存储安全作用的RAID方案有RAID1、RAID5及其变形。基本设计思路是相似的:当部分数据异常时,可通过特定算法将数据还原出来。以RAID5为例:如果要记录两个数字,可以通过再多记录这两个数字的和来达到记录冗余性的目的。例如记录3和5

【Redis】Redis Sentinel(哨兵)系统:自动故障恢复与高可用性配置全解

目录 哨兵 (Sentinel)基本概念主从复制的问题⼈⼯恢复主节点故障哨兵⾃动恢复主节点故障 安装部署 (基于 docker)准备⼯作 以下部分是独立于这一章节的Docker安装Server版本安装CentOS安装实战经验 GUI版本安装(以windows 11为例)安装docker 以上部分是独立于这一章节的重新选举redis-master 宕机之后redis-master 重启之

QDI主板的保护功能导致的电脑关机故障

由于QDI主板中的一种系统保护技术CPU Triple protection被激活导致电脑在刚开机几分钟后就自动关机的。   这种技术在用户开机时就开始运行,对CPU的温度进行实时的侦测,当发现CPU达到一定温度时即强行将CPU进行降速工作状态。如果温度继续升高,达到危险值时便会强行关机,以保护CPU,不会因为温度过高而烧毁。作为QDI的创新技术这一,这项技术主要是为了避免因CPU风扇安装不善

做技术的大家可以看一下这些网站,

1   csdn  http://www.csdn.net/ 2. 开源中国  http://www.oschina.net/ 3. 深度开源(有些经验之谈) http://www.open-open.com/ 上面很多东西大家可以学很多。。。。。。 android须知的网址 Android开发者网站可以很好的帮助你,很多的文档也可以通过SDK工具下载。这些文档不仅仅是Javadoc A