统计口径:8 月 12 日已汇总的历史工作作为基线,本次只补充 8 月 13—18 日新增进展。完成表示已有验证证据,进行中表示代码或梳理已推进但验收未闭环,待开始表示尚未进入实施。
一句话结论
本周稳定性工作从“链路梳理和方案收口”推进到“销售限价落表后置、预发真实消息验证和 ES 局部失败隔离”;机器人数据库独立和 Sale Work 阻塞治理均已完成,MQ/Mongo 全量梳理继续推进,统一 Mongo 写入有序化尚未开始。
当前任务进度
| 优先级 | 工作项 | 当前进度 | 本周实际进展 | 下一步 |
|---|---|---|---|---|
| P0 | 机器人数据库独立 | 已完成 | 上周已完成数据库独立和基础迁移,本周无新增改造 | 补迁移校验、并发压测和验收材料 |
| P0 | Sale Work 进程阻塞治理 | 已完成 | 治理方案已上线,Work 消费、异常超时退出、进程恢复和核心报价链路已完成验证 | 无新增改造,纳入日常监控 |
| P0 | MQ/Mongo 多类型梳理 | 30%,持续推进 | 已有四条 MQ/后置 Job 文档;本周完成销售限价落消息表、Job 后置执行和预发真实验证 | 补齐 Producer、调度、ACK、重放、Mongo/ES/Redis 读回和责任边界 |
| P0 | 销售限价 MQ 后置执行 | 预发验证通过 | SKU 1601000650 的生效和失效消息均完成 WAIT → ING → SUCCESS;274 个服务站关系分别写入生效和失效状态 | 线上配置为每天 03:00 执行一次,发布前核对调度、监控和回滚步骤 |
| P0 | 货主销售区域消息停用 | 已完成 | 已确认当前没有业务消息来源;Consumer 保留原始消息日志后直接 ACK,原业务代码未删除 | 暂无后续动作;恢复业务时重新确认数据来源和处理规则 |
| P1 | Base data Mongo 慢查询优化 | 本轮完成 | 调整未命中索引的查询语句,完成本轮慢查询治理材料和对比验证 | 持续观察慢日志、P95 和扫描量,继续处理剩余 Top N |
| P1 | MySQL/Redis 慢查询优化 | 待开始 | 尚未建立统一慢查询、P95、锁等待和连接占用基线 | 采集 Top N,执行 EXPLAIN/SLOWLOG,再确定索引和语句改动 |
| P1 | 统一 Mongo 写入和有序化设计 | 待开始 | 已明确重复、乱序、过早 ACK 和投影部分成功风险,尚未进入方案评审 | 设计事件唯一键、Inbox 状态、版本更新、串行规则和补偿重放 |
| P1 | 商品报价独立缓存 | 待开始 | 仍等待字段 owner 和统一写入方案,未开始迁移 | 盘点读写方、容量和索引,设计双写、影子校验、灰度和回滚 |
| P1 | 报价接口降级 | 待开始 | 三块接口边界已有方案,尚未进入代码实施 | 明确商品、价格、库存的超时、局部失败、重试和前端状态 |
本周完成的关键工作
1. 销售限价改为“消息落表 + 每日 03:00 Job”
- Consumer 只保存原始
content到既有t_bs_mq_message,不在 MQ 消费线程内执行限价写入。 ItemCenterSalesPriceLimitJob线上每天 03:00 领取 WAIT 消息,调用原有salesPriceLimitNotice(),不改变原限价业务逻辑;预发的 5 分钟频率仅用于本次验证。- 预发使用真实 SKU
1601000650验证:生效消息处理 274 条关系,失效消息将同一批关系更新为state=0。 - 两次消息均完成
WAIT(0) → ING(1) → SUCCESS(3);Mongo 主流程未出现写入异常。 - ES 按服务站隔离失败:缺索引和不在同步范围的服务站只记录 warning,不阻断 MySQL、Mongo 和消息状态。
2. 货主销售区域消息停用(已完成)
- 保留原
shipperRegionChange()代码,不再执行区域同步逻辑。 - 日志同时记录“消息处理已停用,直接 ACK”和原始消息内容。
- 当前不再进入区域同步逻辑;由于没有新的业务消息来源,本项按“停用完成”记录。
3. ES 失败日志收敛
- 删除正常成功和汇总类日志,减少无效输出。
- 仅保留两类可排查 warning:服务站索引不存在、服务站不在同步范围。
- 真实预发失效验证中出现 35 个缺索引服务站、112 个不在同步范围服务站,主任务仍成功完成。
4. Mongo 慢查询治理
- 定位 Base data 中原查询未命中索引的问题。
- 调整查询条件和执行方式,使查询按索引路径执行。
- 已形成治理前后对比材料;后续仍需用慢日志和 P95 指标持续确认收益。
5. 其他本周交付(不计入上述稳定性任务完成度)
- 完成采购在途退货数量累加修复和本地场景验证,线上仍待发布新版采购服务并回归。
- 完成秒杀活动仓库分页和生产日期推算修复,本地验证通过,真实 Excel 导入仍待预发回归。
- 持续完善预发/线上日志排查规范,明确预发日志必须查服务器,线上日志再使用 Kibana。
当前风险与边界
- Sale Work 治理已完成,后续只保留日常监控,不再作为待完成改造项。
- MQ/Mongo 当前 30% 是梳理进度,不代表全部入口、投影和补偿策略已经闭环。
- 销售限价预发验证已通过,线上需按每天 03:00 的调度发布并核对生产投影回读。
- ES 缺少服务站索引的问题不会阻断主流程,但对应服务站的搜索投影不会同步,需要后续补索引或建立明确的跳过清单。
- Mongo 本轮查询已优化,MySQL 和 Redis 慢查询治理尚未开始;统一写入有序化仍属于后续工作。
后续工作顺序
P0
- 补齐 MQ/Mongo 剩余入口、Producer、调度和生产运行证据,统一更新入口台账。
- 优化 Robot 和 AI 日志:先按服务、日志级别和事件类型统计日志量,定位高频无效日志;再下调普通成功日志、合并重复日志、保留异常关键字段,并对比 Kibana 流量和检索可用性。
P1
- 梳理统一 Mongo 写入和有序化设计的可优化点:按写入入口检查重复写、乱序覆盖、失败后部分成功、批量与单条不一致、投影更新不同步等问题;输出问题清单、优先级、改造边界,再确定唯一键、版本字段、同 SID/SKU 串行和补偿规则。
- 落地 MySQL/Redis 慢查询治理:MySQL 采集慢日志并按次数、总耗时和 P95 排 Top 20,逐条关联接口或 Job,使用
EXPLAIN检查索引和扫描行数后优化并回归;Redis 采集SLOWLOG、命令耗时和大 Key,重点排查KEYS、大范围HGETALL、大集合遍历和无 TTL,逐项替换为分页/SCAN/合理 TTL 并验证延迟下降。
证据与关联文档
- 历史基线:2026-08-11 站管家稳定性升级总计划与进度
- 商品报价与 Mongo 入口:2026-08-03 商品报价链路与 Mongo 写入入口
- MQ 变更包:REQ-MQ-INBOX-ORDERED-WORKER
- 本周日报:
2026-08-12、2026-08-13、2026-08-14、2026-08-15、2026-08-16、2026-08-17 - 本周代码证据:
6f3504d4f9(MQ 后置改造)、a9a989965b(ES 失败隔离)、237b5937c8(日志收敛) - 预发限价日志:
/data/logs/dgj/itemcenterNotify/、/data/logs/dgj/cron/itemcenterSalesPriceLimitJob.log
状态口径:只要核心代码已完成但缺压测、真实数据回读、生产调度或回滚验证,仍标记为“进行中”,不标记为“完成”。