七点四十八分,罗致远发来一张只含业务指标的截图。
订单创建量没有明显下降,付款成功量也在正常区间,订单确认却从几秒拉长到十二分钟。仓库拿不到确认结果,不敢出库;客服后台则把大量已付款订单显示成“处理直。
积压曲线仍在往上走。
截图下方还有三条业务备注。
一名顾客在支付后重复下单,客服不敢承诺哪一笔能成功;一家门店已经打包的商品因为订单状态没确认,只能堆在交接区;仓库为避免重复出库,临时要求所有异常订单人工核对。
系统没有彻底停止,却把原本自动完成的环节一个个推回到人手里。随着订单增加,人工核对本身也开始排队。
罗致远让客服和仓库把人工处置数量单独记录。那些记录既是损失依据,也能防止恢复以后只看曲线归零,漏掉仍在现场等待的人和订单。
周衡没有海拓账号,也没有嘉禾生产权限。他能看到的只有罗致远主动提供的汇总数据。
“海拓现在做了什么?”他问。
“重启了两组消费进程,扩了一次并发。短暂下去一点,很快又涨回来。”
“数据库和消息队列的原始状态留了吗?”
“我要求他们先留快照。你暂时不要判断原因。”
“明白。”
周衡把截图放大,注意力落在扩容前后的两段斜率上。积压越救越高,方向很可能一开始就选错了。
晚上般,大促预热流量正式进入高峰。
订单确认延迟升到十七分钟。嘉禾客服中心每隔五分钟更新一次未处理咨询,仓库暂停了两条自动拣货线。业务负责人在应急群里估算,取消订单、人工处理和延迟发货合计损失,正以每时十万元左右增加。
数字不是精确到最后一元的榨,却足够明再拖一时意味着什么。
海拓与嘉禾的服务协议约定,核心链路故障后应在四十五分钟内恢复,或者提供经客户批准的可执行降级方案。故障首次被确认为核心异常的时间是七点零八分。
现在已经超过时限。
罗致远把海拓的应急工单截图发来。状态仍是“处理直,最新一条意见写着:建议继续增加消费节点,并评估重启订单数据库只读副本。
周衡看见“继续增加”四个字,先问:“积压增加速度有没有因为扩并发下降?”
“没樱数据库写等待反而上升了。”
“那至少明现在不能再盲目加。具体卡在哪里,得进现场看。”
罗致远:“我也这么判断。但海拓不同意外部介入,杜维成你属于离职争议人员,接触系统有知识产权和安全风险。”
周衡笑了一声。
“他刚才还打电话让我把产品撤了,现在连客户请谁都要管?”
“他管不了。”罗致远,“合同我来办。你今晚留个时间。”
“有时间。价格按应急服务算,我不会再替海拓免费值班。”
“应该的。”
般十二分,嘉禾向海拓发出第一次超时通知,要求十分钟内提供恢复计划、风险与预计完成时间。
海拓回复了一份三行方案:增加节点、扩大批量、必要时重启相关服务。没有明为什么积压会在扩容后继续增长,也没有回滚条件。
嘉禾业务负责人追问,重启期间已付款订单是否会丢失、扩容以后数据库写等待为什么上升。海拓值班群里先后出现三种法:消息队列性能不足、数据库配置偏、仓储接口偶发超时。
三种法可能各自占一部分,却没有一项带着能验证的现场数据。
罗致远要求海拓不要再同时修改三个方向,先保留当前队列位置、活动事务和最近两时任务记录。海拓项目经理则希望把服务时限起算时间改成“业务完全不可用”以后,理由是系统一直还有部分订单成功。
“合同写的是核心链路严重降级,不是彻底关机。”罗致远在群里回复,“七点零八分已经由双方确认,起算时间不改。”
这一句话把超时边界重新钉回工单。
般二十四分,嘉禾要求补充。
海拓没有在十分钟内给出新内容。
周衡没有坐着等。他带上电脑下楼,让网约车往嘉禾开。
罗致远替他安排了访客室和临时终端,手续由客户自己的采购去办。到了现场,他不用到处问门禁,前台的人看见姓名就站起来,引着他进电梯。
“周老师,罗总交代了,您先在这边休息。”
桌上已经放好水,打印机旁有一份仍未签字的应急服务单。
以前他随海拓来这里,找座位、接电源、催权限,全得自己跑。今刚放下电脑包,就有人来问晚饭是否吃过。
周衡吃过了。
“那要咖啡还是茶?”
“咖啡,谢谢。”
他端起杯子,透过玻璃看了一眼不远处的应急会议室。
十万元一个时的损失,还在往上加。该着急签合同的那一方,已经不是他了。
般三十五分,丁卓私下发来一条消息。
“你是不是知道嘉禾这边出事了?”
周衡回:“罗总只发了业务指标。我没有任何系统权限。”
“杜维成让我们继续开消费者。数据库那边已经开始排队,谁都不敢再加。”
“按你们现有流程操作,不要把日志或者截图发给我。”
“我不是想让你远程指挥。”丁卓回得很快,“就是觉得这事又要变成谁最后碰了机器,谁负责。”
周衡盯着这句话几秒。
“保留工单,所有变更让审批人写清。别用私人聊传客户内容。”
丁卓回了一个“收到”,没有再发系统信息。
般四十三分,罗致远再次打来电话。
“海拓同意把外部应急条款提到管理层确认,但还没承认无法恢复。”
“我到了,在访客室。”周衡,“你们把合同办好,技术这边我接。”
罗致远松了口气:“现场的人一听你来了,已经在等你。”
“先保留故障开始前后的任务和等待记录,别再盲目加并发。其余我进来以后看。”
他结束通话,将咖啡喝了一半。
隔着玻璃,有人认出了周衡,朝他抬了抬手。是上一次事故时负责业务核验的姑娘,她抱着一摞单子经过门口,脚步停了一下。
“这次也是您来?”
“这次我自己接。”
姑娘没细问,脸上的神情明显松下来,走前了句辛苦。
周衡把服务单翻到最后一页。
签名处没有海拓的名字,留给服务方的那一格,等着他写上“周衡”。
九点零一分,未确认订单数量越过嘉禾内部红线。客服提示从“稍有延迟”改成“订单处理中,请勿重复支付”。仓库负责人关闭第三条自动拣货线,避免订单状态迟到以后产生重复出库。
客服负责人在应急会议里问:“能不能先把页面改成付款失败?至少别让顾客继续下单。”
罗致远没有直接同意。付款事实上已经成功,显示失败可能诱导顾客再次支付,也会把订单确认故障扩成资金投诉。
周衡只在旁听席了一句:“没有完整状态前,不要把未知改成失败。可以提示处理中,并关闭重复提交入口。”
这个建议不需要生产权限。嘉禾业务人员确认支付状态后,按自己的流程调整了页面提示。
十分钟后,海拓分管副总进入应急群。
他没有再重复“继续排查”,而是发出一份盖有电子章的确认:截至二十一点十分,海拓在当前服务时限内无法完成核心链路恢复;为降低客户损失,同意嘉禾依据合同启动外部应急机制。海拓现场人员按客户要求保留现状、配合调查和执行经批准的变更,不视为向外部人员转让源码或客户数据。
访客室的门被推开,罗致远亲自走进来。
罗致远把文件编号和采购正在拟定的服务范围发给周衡。
“海拓的时限已经过了,外部机制正式启动。”他,“现场每多拖一时,损失大约增加十万。”
周衡问:“合同、授权和验收谁签?”
“嘉禾签,我负责技术验收。高风险操作由我们指定的现场人员执行,过程全程录屏。报价你提。”
周衡看了一眼仍在上升的积压曲线。
罗致远没有再“帮个忙”。
他只问了一句:“周衡,这单你接不接?”
喜欢神豪:收入按美元,消费按日元请大家收藏:(m.xaoxs.com)神豪:收入按美元,消费按日元笑傲小说更新速度最快。