凌晨两点四十七分。城市的霓虹灯牌逐一熄灭。只有零星几个写字楼的窗户透出白光。
林远盯着眼前的双显示器。屏幕发出的冷光印在他涂着防蓝光膜的镜片上。
他是“快送”外卖平台的后端工程师。右手食指搭在鼠标滚轮上,向下滑动。左边屏幕上,
黑底白字的终端窗口里,红色警告日志不断向上翻滚。手指移回机械键盘。
敲击声在空旷的办公区里回荡。哒哒,哒哒哒。青轴键盘的段落感顺着指尖传导。
右边屏幕是服务器监控大盘。林远紧盯着那条代表订单处理延迟的红色曲线。五十毫秒。
一百二十毫秒。三百五十毫秒。数据每刷新一次,红线就向右上角攀爬一格。
他一把拽过桌上的降噪耳机扣在头上,拉下麦克风。“老周,
查一下Redis集群的连接数。”语音频道里传来急促的键盘敲击声。“连接池已经占满。
内存使用率飙到百分之八十五了。”林远切出命令行,快速敲打出一串查询指令。
终端返回了十几个阻塞的线程状态。“又是支付网关的异步回调积压……”他闭上眼睛,
手指按压着眉心。眼球胀痛,干涩的角膜刮擦着眼睑。明天早上七点整,
平台即将上线年度最大力度的“早安唤醒”促销活动。全城早餐五折起。
市场部的预期报告里写得清清楚楚,早高峰流量会是平时的三倍。按照目前的回调处理效率,
明天七点零五分,支付网关就会彻底瘫痪。用户的订单状态会全部卡在支付环节。
上百万的客诉,数千万元的流水损失。
他下个月即将到手的绩效奖金和期权兑现资格全部泡汤。首付还差十万。他没有退路。
必须在凌晨四点之前重写降级预案,把非核心的校验请求全部剥离到消息队列里。
林远向右伸出手,摸索到那个装满冰美式的塑料杯。杯壁凝结的水珠打湿了他的掌心。
他举起杯子灌下大口黑咖啡。冰冷的苦涩液体猛地砸进空荡荡的胃里。他打了个冷战,
强行压下上涌的疲倦感。显示器底座旁边,放着一个便利店买来的吞拿鱼饭团。
包装塑料纸只撕开了一半。米粒暴露在空调的冷风中,早就变得又干又硬。
这已经是本周的第三次紧急维护。代码、API接口、不断突破阈值的监控指标,
构成了他此刻全部的世界。手指重重砸下回车键。几乎在同一时刻。长乐路主干道。
空旷的六车道上,没有一辆汽车。陈锋弓着腰,双手死死攥住电动车的橡胶把手。
右手手腕向下压到底,把油门拧到最大限制。电机发出尖锐的高频嘶鸣。
十二月的冷风顺着外卖服没拉紧的拉链缝隙,狂妄地灌进他的胸膛。
他没有任何躲避风寒的动作,双眼只盯着前方柏油路面上反光的水坑和下水道井盖。
视线锁定,车把微偏,轮胎擦着障碍物边缘闪过。后座的塑料保温箱随着车身晃动。
箱子里装着三份还冒着热气的砂锅粥。每次过弯,他都能通过车身重量的偏移,
感知到砂锅在箱底的滑动。目的地是市第三人民医院急诊科。车头支架上的手机屏幕亮起。
扬声器传出机械的女声提示音。“您已偏航。
”陈锋低头瞥了一眼屏幕上重新规划的红色虚线。他没有理会。左手猛地捏下刹车。
车头向右一拐,扎进一条没有路灯的狭窄巷子。路面变成了坑洼的青石板。车身剧烈颠簸。
陈锋双腿肌肉绷紧,半站起身,膝盖微曲,化解着传导到全身的震动。这条老城区的老巷子,
他闭着眼睛都能绕出去。绕过废弃的垃圾桶,贴着红砖墙根直行,在第三个岔口左转。
走这条路,能避开主干道的四个红绿灯。至少能省下八分钟的时间。夜班跑单,
时间就是结算单上的真金白银。尤其是送往医院的夜班订单。八分钟的温差,
足以让一份热粥变成难以下咽的冷糊。订单详情页面的底部,显示着顾客留下的备注信息。
“医生夜班辛苦,谢谢。”陈锋看着那行字。他回想起半个月前,女儿发高烧。
他抱着孩子冲进急诊科,看到那些穿梭在抢救床之间,满眼血丝却动作不停的白大褂。
他握着车把的手指微微松开了一瞬。冷风吹得发僵的脸颊肌肉向上提拉,
嘴角扯出一条带着暖意的纹路。前方巷口透出昏黄的街灯。陈锋再次捏紧油门。
电动车碾过最后一块青石板,重新冲入宽阔的街道。市第三人民医院。急诊科大厅。
天花板上的LED面板灯发出刺目的白光。将窗外的死寂完全阻挡在玻璃门外。
抢救室三号床位。沈薇握着不锈钢持针器,将医用缝合线穿过病人的额头皮肤。手腕翻转。
打结。拿起剪刀,咔嚓一声剪断多余的线头。她把器械全部扔进身旁的金属弯盘里。
“包扎一下,给他推一支破伤风。按住他肩膀,别让他扯掉纱布。”她对护士下达指令,
声音透着长时间说话后的沙哑。病床上的醉汉还在扭动身体,喉咙里发出含混的骂声。
浓烈的劣质白酒味,混合着未消化完的酸臭味直冲鼻腔。沈薇后退一步,
扯下双手沾着血污的乳胶手套。踩下医疗废物桶的踏板,将手套扔进黄色塑料袋内。
高度紧绷的神经暂时放松下来。后颈和肩膀的肌肉立刻发来抗议的信号。她抬起右手,
按在僵硬的左侧斜方肌上,用力向下按压。指骨和肩胛骨摩擦,发出咔哒的响声。
这是本周连续第三个大夜班。过度透支体力让她的胃部神经变得极其敏感。
胃壁正持续不断地痉挛,酸液顺着食道往上翻涌。走廊里传来胶底鞋摩擦地面的声音。
“沈医生,你点的粥到了。”值班护士小刘快步走过来,
递上一个水杯和一个印着“快送”外卖标志的塑料袋。沈薇放下揉捏肩膀的手,
接过水杯和外卖袋。“太好了,饿得前胸贴后背了。”打包盒的温度穿透薄薄的塑料袋,
贴在她的手心。还是温热的。她仰头喝下大半杯温水。干涩刺痛的嗓子得到了润滑。
走到护士站后方的休息区,拉开折叠铁椅坐下。双手扯开塑料袋的打结处,
拿出底部的打包盒。扣开透明盖的卡扣。白色的热气升腾而起。大米熬煮出的米油香气,
混合着干贝鲜虾的鲜甜味道直扑面门。这股浓郁的食物烟火气,
硬生生从周围刺鼻的来苏水味道里撕开了一个缺口。她拿起一次性塑料勺。
舀起一勺粘稠的米粥。吹散表面不断冒出的热气。送到嘴里。
温热的米粥顺着咽喉流进空虚的胃里。痉挛的胃壁得到安抚,
一阵暖意从腹部向四肢蔓延开来。她小口喝着粥,目光却仍习惯性地扫过监护仪屏幕。
1 林远的战场:数据洪流“远哥!”耳机爆出尖锐的杂音,实习生嗓音撕裂。
“数据库连接池撑不住了!”林远手指悬停半秒,随后狠狠砸向键盘,
终端窗口翻滚着满屏刺眼的鲜红Error警告,显示器冷光打在他眼底。眼角肌肉绷紧,
不受控制地抽动。他盯着直线上升的内存占用率,宕机边缘的警报疯狂轰炸着神经。
必须做出取舍,“降级非核心业务查询。”他喉结滚动,咽下一口干涩的唾沫,
双手重回键盘区。“掐断推荐位接口,优先保订单创建、骑手接单链路!
”他敲击代码的速度越来越快,机械键盘砸出密集的爆裂声,屏幕切入实时监控面板,
一个微服务节点的响应时间突破安全阈值。红色的折线笔直飙升,
它粗暴地刺破正常区间的绿色警戒带,系统日志流水般倾泻而下。林远眯起眼睛,
捕捉那些高速滚动的字符,他要揪出那个吃掉所有资源的元凶。锁定目标。
地理位置逆解析服务,这个节点正承受着平时数百倍的并发请求,海量订单挤在同一秒,
它们要求系统把经纬度坐标翻译成具体的门牌号。CPU负载被瞬间打满,内存耗尽,
他攥紧鼠标,指骨凸起泛白。这源于一周前刚上线的新版本,为了优化骑手派单路径,
缩短配送时间,他亲自重写了底层调度算法。逻辑没问题,代码也没有语法错误,
但他漏算了一种极端场景。凌晨两点,极度密集的订单涌向几块极小的物理坐标,
算法因此陷入死循环般的疯狂计算。林远切开异常流量拓扑图,黑暗的电子地图上,
几个光斑亮得发白。其中最大的一个光源,精准定位在市三院急诊楼。
一封昨天躺在邮箱里的产品通告闪入脑海,“明后两日凌晨,
平台将对市级重点医院投放专项夜宵补贴。”补贴活动激发了海量需求,
聚集的订单击穿了算法的容错区。林远缩进椅背,他仰起头,看着光秃秃的天花板,
眼里的血丝一路蔓延。一串自己亲手敲下的代码,正在深夜调度成千上万份热粥,
而编写代码的人,正被这串代码引发的灾难死死钉在工位上。无法合眼,
胃部传来一阵阵痉挛的绞痛,他用力按住肚子,身体重新前倾,双手再次覆上键盘。
他必须在全面崩溃前,手动干预清理积压的任务队列。
2 陈锋的旅程:生命的通道医院消毒水的味道还在鼻腔里打转,陈锋从急诊大厅退出来。