微服务供应链 / 仓储

WMS 仓储物流系统

支撑多仓库、多货物全球转运的仓储管理系统,覆盖入库 / 出库 / 库存全流程。

角色Java 后端开发
时间2023.11 — 2024.08

背景与目标

  • 商城下单后,采购员采购并经供应商发货至仓库,再由仓库完成全球转运;系统需支持多仓库、多货物管理,覆盖入库 / 出库 / 库存的完整作业流程。

我的职责

  • 基于 Nacos + OpenFeign 实现微服务间调用:创建入库单 / 发货单、库存冻结与解冻、退货单回传、异常处理等。
  • 用 RocketMQ 异步收发消息生成入库单,实现上下游解耦,增强系统稳定性与健壮性。
  • 在 SKU 维度加 Redisson 分布式锁与幂等校验,控制库存变更(冻结 / 解冻 / 加减)与批量操作(发货 / 移库 / 上架)的并发。
  • 用 PowerJob 工作流 + RocketMQ 重试机制做重试补偿,达失败上限即监控告警、通知人工介入,保证事务一致性。
  • 用策略模式 + 模板方法模式对接多家货代公司 API(物流单号获取、轨迹更新、发票制作与下载),统一逻辑、大幅减少冗余代码。

关键结果

  • Nacos + OpenFeign 打通采购 / 订单 / 仓库微服务全链路(入库、发货、库存冻结解冻、退货回传)
  • RocketMQ 异步生成入库单实现上下游解耦,避免上游采购异常拖垮仓库运转
  • SKU 维度 Redisson 分布式锁 + 幂等校验,解决库存变更与批量操作的并发安全

亮点与难点

  • 策略模式 + 模板方法模式抽象多货代对接,新增货代仅需扩展子类。
  • PowerJob + MQ 重试补偿 + 告警,保障跨服务事务最终一致。

技术栈

Spring CloudRocketMQMySQLNacosMyBatisRedissonPowerJob