目录
[选项 A:先重启服务(快刀派)](#选项 A:先重启服务(快刀派))
[选项 B:先看日志和监控(稳健派)](#选项 B:先看日志和监控(稳健派))
[选项 C:重启 + 排查同时进行(老油条派)](#选项 C:重启 + 排查同时进行(老油条派))
[选项 D:我也不知道,先问同事(真实但很普遍)](#选项 D:我也不知道,先问同事(真实但很普遍))
重启,还是排查?我想听听你的真实选择
我先说一个不太体面的事实:
我见过很多线上事故,
不是技术能力不够,而是第一反应选错了。
所以我想认真问一句------
当线上服务出问题时,你的第一反应是什么?
别急着回答,我们一步一步来。
场景来了(非常真实)
假设现在是工作日白天:
-
接口开始大量超时
-
监控报警不断
-
群里已经开始 @你
-
产品一句话飘过来:
"是不是又挂了?"
这时候,你的第一反应是
选项 A:先重启服务(快刀派)
理由通常是:
-
"先恢复再说"
-
"重启最快"
-
"不然影响用户"
我不否认:
- 很多时候,重启真的能"暂时解决问题"
但问题是
你真的知道为什么挂了吗?
很多事故,重启只是把问题"延后爆炸"。
选项 B:先看日志和监控(稳健派)
这类人一般会:
-
看错误日志
-
看 CPU / 内存 / 磁盘
-
看数据库状态
优点:
-
能找到真正原因
-
不容易反复出问题
缺点也很明显:
-
慢
-
容易被催
-
压力全在你身上
选项 C:重启 + 排查同时进行(老油条派)
这类人通常已经被线上教育过:
-
一边重启止血
-
一边查根因
-
事后补复盘
说实话
这是我现在最常用的方式。
选项 D:我也不知道,先问同事(真实但很普遍)
别笑。
很多人第一次值班时,
真的就是这样过来的。
如果你选这个,
说明你至少是诚实的。
一个很多人不愿意承认的事实
我后来发现:
线上事故的"第一反应",
其实暴露的是一个人的经验阶段。
-
新人:先慌
-
熟手:先救火
-
老人:边救火边留证据
没有对错,只有阶段。
我踩过的一次坑(很短,但真实)
有一次服务异常:
-
我第一时间重启
-
服务恢复了
-
大家松了一口气
结果两小时后------
同样的问题再次发生,而且更严重。
后来才发现:
根因是磁盘快满了,
重启只是让日志重新写了一轮。
那一刻我才意识到:
重启不是解决方案,只是延迟付款。
我的现在立场(很明确)
如果你问我现在怎么选:
-
只重启:不推荐
-
只排查:风险太大
-
先止血,再定位,再复盘
但我更关心的是
你现在站在哪一边?
到你了(请一定留言)
你线上服务出问题时,第一反应是:
-
A️⃣ 先重启
-
B️⃣ 先排查
-
C️⃣ 两边同时
-
D️⃣ 当场懵了
直接打字母就行
我真的很想看看真实情况。
为什么我最近总写这种文章?
因为我发现:
很多人学会了框架、数据库、容器,
但没人教他们:
"事故发生的第一分钟该做什么。"
接下来我会继续写:
-
真实线上事故复盘
-
新手最容易选错的第一反应
-
数据库 / 服务器"看起来没问题,其实已经要炸"的信号
如果你也在做后端 / 运维,
关注一下,可能哪天能救你一命。