凌晨三点的系统救命
凌晨三点十七分,杭州。
陈志远的手机像疯了一样震动起来。他迷迷糊糊地摸过手机,屏幕上是监控系统发来的红色告警:核心支付服务响应超时,错误率飙升至 37%。
陈志远的脑子 "嗡" 的一声,彻底清醒了。
明天是公司双十一的大促日,预热活动今晚零点已经开始。如果支付系统崩了,那意味着公司投了两百多万的信息流广告、准备了半个月的直播带货,全部白搭。
他一把掀开被子,光着脚跑到书房,打开笔记本电脑。网络是通的,但他不能直接登录服务器 —— 公司的云服务器在凌晨自动开启了安全组白名单,只有办公网 IP 才能访问。而他现在在家里。
陈志远深吸一口气,点开了远程控制软件。
公司办公室里那台 always-on 的运维终端,在线。他点了一下 "远程连接"—— 三秒后,屏幕上出现了办公室电脑的桌面。从这台终端,他再跳板登录云服务器。
日志跳出来的那一刻,陈志远的眉头拧成了疙瘩:数据库连接池被打满了。大促预热期间,流量比预估高了五倍,有一条慢查询没有被限流,把整个连接池拖死了。
他手指飞快地在键盘上敲击:先 kill 掉那条慢查询,然后紧急扩容数据库从库,再把限流阈值往上调了一档。
屏幕上的错误率曲线开始缓缓下降:37%、22%、8%、3%。
陈志远不敢松气,又盯着监控面板看了十分钟。流量还在涨,但错误率稳定在了 0.2% 以下,支付成功率恢复到了 99.8%。
他看了一眼时间 —— 四点零二分。从他接起告警电话,到系统恢复,一共四十二分钟。
陈志远靠在椅背上,才发现自己浑身是汗。书房的空调明明开着二十六度,他后背的睡衣却全湿透了。
第二天早上九点,大促准时开始。GMV 曲线一路往上冲,团队在微信群里欢呼雀跃,没有人知道凌晨发生过什么。
只有陈志远知道。
后来公司例会上,CTO 特意提了这件事:"如果不是志远凌晨远程把系统救回来,这次大促至少损失一百万。"
陈志远摆摆手,说:"主要还是那个远程控制软件给力。我当时人在家里,要是没有它,我就是长了翅膀也飞不到办公室去登服务器。"
从那以后,公司给所有技术岗都配发了远程控制软件的企业版。陈志远还在自己的床头贴了一张便签,上面写着:手机永远有电,远程永远在线。
他说这是所有互联网运维人,最朴素也最硬核的安全感。
