Ctrl+D收藏泡泡中文
泡泡中文Paozw.com

嘉禾的消息系统支持独立消费组。周衡提出开一组临时进程,只从当前时间点以后接收新订单;原消费组保留旧位置,等数据库稳定后再处理历史积压。同一订单可能因重投进入两边,因此必须先验证订单号的唯一约束和重复确认逻辑。

现场测试确认,相同订单号重复投递不会重复确认。罗致远随即批准临时通道。

十点二十六分,第一笔新订单从临时通道完成确认,用时二十八秒。

随后十笔、五十笔。

确认时间稳定在业务阈值以内,付款后的订单能够重新进入仓库。客服后台里不断增长的“处理中”数量第一次停住。

十点三十分,罗致远在应急时间线上标记:核心订单确认恢复。

从临时账号启用,到核心恢复,四十六分钟。

嘉禾没有只看一条成功率曲线就宣布结束。

业务人员现场下了三组受控测试订单:正常支付一笔,支付后取消一笔,同一请求重复提交一笔。第一笔在三十秒内进入拣货,第二笔按取消流程释放库存,第三笔只生成一个有效订单号。

仓库扫描员在另一端回读了结果,客服后台也能看到一致状态。确认链路恢复以后,罗致远才允许历史积压开始提速。

会议室里有人松了一口气,周衡没有让现场立刻把所有进程开满。

新订单只是恢复了,旧积压还在。

他让原消费组从低并发开始处理历史记录,每十分钟检查一次数据库等待、失败数量和重复确认。失败订单不自动跳过,先进入单独清单;确定只是短时超时的,按原订单号重放,字段不完整或状态矛盾的留给人工核对。

十一点,积压下降到峰值的六成。

十一点二十,仓储接口又慢了一次。周衡没有增加重试,只暂时降低历史处理速度,保证新订单通道不受影响。接口恢复后再逐级放开。

几笔地址字段不全的旧订单被单独交给客服核对,没再拖住后面的任务。丁卓看着队列一截截变短,肩膀终于放松下来。

“这个速度,再有十几分钟就清完了。”

海拓值班负责人一直没再提加机器。他盯着恢复的曲线,隔了好一会儿,才问周衡是不是可以把刚才的判断顺序写进处置手册。

“我会放进交付记录。”周衡说。

对方点头,低下去继续记。

十一点五十八分,积压只剩最后一小段。

午夜零点零一分,历史队列回到零。失败清单里的记录全部有去向,没有一笔被静默删除。

从九点四十四分开始,正好两小时十七分。

数据库管理员核完总数,向罗致远报了确认。会议室里响起几声压不住的欢呼,连一直守在门口的客服负责人都笑了。

两小时十七分,他们终于能把“系统恢复”发给前线了。

罗致远让仓库和客服分别抽查订单。新订单确认正常,旧订单没有重复出库,页面状态与仓库记录一致。

周衡保存最终指标,开始写遗留风险:对账任务必须拆掉外部调用与长事务;大促期间不得临时提前批处理;扩并发前先确认真正瓶颈;临时消费组在积压核对完成后下线。

他还没写完,会议室的门被推开。

杜维成从海拓赶到嘉禾,身后跟着一名项目经理。

他先看了一眼已经归零的积压曲线,又看向坐在屏幕旁的周衡。

“恢复了就好。”杜维成把电脑放到桌上,“接下来由海拓统一对客户汇报,外部人员先退出系统。”