第8章 三天救火局

山楂铺子 2388字 2026-05-15 18:07:14
唐骁当天晚上就提了离职。

他没有像程野那样写得体面的辞职邮件,只在公司群里发了一句“按流程离职,交接我会做完”,然后把电脑一合,抱着自己的机械键盘去了程野的出租屋。门打开时,他背着包站在楼道灯下,头发乱着,脸上却带着一种久违的轻松。

“野哥,收留一下。”唐骁把键盘举起来,“我把家伙都带来了。”

程野看着他那副像逃难又像投奔山头的样子,侧身让他进门:“先说好,这活不轻松。”

唐骁把包往沙发上一扔:“在周启明手底下也不轻松,还不给钱。”

第三个人是程野以前认识的运维工程师,叫梁远。人不爱说话,做事却稳,曾经在一家云服务厂商做过大促保障。程野给他打电话时,他只问了两个问题:权限是否合规,费用能不能按阶段结。得到肯定答复后,梁远晚上十点带着笔记本接入会议。

三个人的临时团队,就这样在程野那张不算宽的餐桌旁搭了起来。

窗外是城市夜色,楼下便利店的灯亮到很晚。桌上摆着三台电脑、几罐咖啡、两份冷掉的外卖,还有苏棠发来的压测报告和权限清单。程野把任务拆开,语气很快,却没有半句废话。

“梁远,你看网关、缓存和数据库连接池,先把监控补齐,确认压力到底落在哪一层。唐骁,你负责前端权益展示的兜底逻辑,空白页不能再出现。后端规则链路我来拆,先回滚二期新规则,再做临时隔离。”

唐骁一边登陆星河授权环境,一边问:“周启明那边会不会捣乱?”

“会。”程野说,“所以所有操作都在星河授权环境里做,记录留全。我们不碰他们公司的内部仓库,也不接受他们的口头指令。”

梁远抬眼看了他一下:“你这是被坑过。”

唐骁冷笑:“何止被坑,差点被埋。”

程野没有接这句话。他打开日志检索,把最近一周的变更记录一条条拉出来。越往下看,他眼神越沉。周启明公司为了赶二期进度,把原本应该拆开的活动权益规则直接挂进旧积分链路,还砍掉了部分灰度验证步骤。更离谱的是,为了节省云资源费用,压测环境的缓存规格被下调过一次,备份队列也没有按建议开启。

这些不是技术犯错,而是管理层明知有风险,却选择了省钱和赶进度。

凌晨一点半,梁远摘下耳机,声音低哑:“找到了。缓存穿透不是单点问题,压测一上来,新活动权益查询会绕过一级缓存,直接打到规则聚合层。聚合层再反查历史积分表,数据库慢查询堆起来后,连接池被占满,订单页也被拖死。”

唐骁盯着自己的屏幕,骂了一句:“怪不得前端空白。后端一超时,返回结构不稳定,页面兜底拿不到默认权益,就直接白了。”

程野把两人的发现记进文档:“先止血。新权益开关关掉,历史积分查询加限流,订单页返回结构固定,前端补默认展示。”

“能撑住压测?”苏棠在电话那头问。

她也一直没睡,声音里带着疲惫,却没有催促。

“能撑住下一轮基础压测。”程野说,“但如果不拆链路,只是暂时把火压下去。”

“先把火压下去。”苏棠停了一下,“明早九点,陈总要看第一轮结果。”

这一夜过得很快。

三个人几乎没有离开过电脑。梁远把监控面板重新补齐,连夜加了几组关键指标;唐骁改完前端兜底逻辑后,又把页面异常状态梳理了一遍;程野则在后端开关、规则链路和数据回滚之间来回切换,把每一个变更都写进操作记录。

凌晨四点,第一轮压测重新启动。

屏幕上的曲线起初还有些抖,错误率在高位停了几分钟,随后慢慢回落。缓存命中率开始爬升,数据库连接数从危险线附近一点点降下来,订单页空白率归零。唐骁盯着监控图,困得眼皮发红,却还是忍不住笑了一下。

“回来了。”

程野没有立刻放松。他等到曲线稳定超过二十分钟,才把阶段结果发给苏棠和陈峻。

“基础压测恢复,核心链路暂时稳定。下一步做规则拆分和灰度验证。”

苏棠几乎秒回:“收到,辛苦。你们先休息一会儿。”

程野看了一眼时间,早上五点二十。

窗外天边已经泛白,楼下环卫车缓慢驶过,轮胎碾过潮湿路面,发出沙沙的声响。唐骁趴在餐桌上,嘴里还念叨着“周启明看见监控图估计脸都青了”,话没说完,人已经睡着。

梁远靠在椅背上闭目养神,手边还握着鼠标。

程野站到窗边,喝了一口已经凉透的咖啡。苦味顺着喉咙滑下去,他却没有像过去那样觉得憋闷。以前每一次救火,功劳都被包装进周启明的汇报里,最后只剩一句“大家辛苦”。这一次,监控是他们拉回来的,方案是他们定的,客户也清楚是谁在解决问题。

上午九点,星河召开阶段复盘会。

陈峻看完压测结果后,神色终于缓了一点:“基础指标恢复得比我预期快。程工,后续七天加固方案细化一下,今天下午给我。”

周启明也在会议里,脸色难看得像一夜没睡。

他听完整个过程,忽然开口:“程野,你们现在做的这些调整,很多都是基于我们公司原有项目成果。后续方案最好还是跟我们团队一起推进,免得重复劳动。”

程野看着屏幕里的他:“周总,星河授权我们做的是应急隔离和加固,不涉及贵司代码资产。所有调整都在星河环境里完成,操作记录已经同步给客户。”

周启明脸上的肌肉动了一下:“你倒是准备得很充分。”

“被提醒过要注意边界。”程野说。

这句话不轻不重,却像把周启明过去的威胁原样还了回去。

会议室里没人接话,苏棠低头翻文件,唇角几不可察地动了一下。

下午,程野把七天加固方案发出去。方案不花哨,却极其扎实:第一天拆规则链路,第二天补灰度开关,第三天做压测环境资源恢复,第四天修历史脏数据,第五天补监控和报警,第六天全链路回归,第七天大促演练。

陈峻看完后只回了一句话。

“按这个来。”

唐骁坐在旁边,看着那四个字,忽然长长吐出一口气。

“野哥,你知道吗?我以前总觉得客户是甲方,肯定难伺候。现在才发现,不讲理的不是甲方,是中间那些只想拿钱不想担责的人。”

程野没有说话,只把方案归档,给文件命名为“星河应急加固计划V1”。

屏幕右下角,旧项目群还在不断跳消息。周启明的团队似乎终于开始翻他留下的交接文档,一条条追问不断弹出来。

“第十七页的灰度开关配置在哪里?”

“历史积分表清洗脚本有备份吗?”

“缓存隔离方案当时为什么没上线?”

程野看了一眼,把群彻底折叠。

有些答案,他早就写过。只是那时候,没人愿意认真看。