尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

下单扣库存场景下的分布式事务架构设计

下单扣库存场景下的分布式事务架构设计
📅 发布时间:2026/7/6 14:05:47

下单扣库存场景下的分布式事务架构设计

1 概述

1.1 业务场景

用户下单同步扣减商品可售库存,涉及订单服务、库存服务两个微服务,跨服务数据更新存在分布式事务一致性问题,采用本地消息表(可靠消息最终一致性)方案实现分布式事务。

1.2 核心公式

可售库存 = 库存总数 - 冻结数

2 核心表结构设计

2.1 库存主表

维护商品基础库存数据,核心字段:

  • 商品id
  • 商家id
  • 库存总数
  • 冻结数

2.2 库存冻结流水表

记录每笔订单对应的库存冻结操作,用于幂等校验、事务状态追溯,唯一主键:订单id + 商品id
核心字段:

  • 订单id
  • 商品id
  • 商品扣减数量
  • 订单状态

2.3 订单服务本地消息表

用于存储待发送MQ消息,保障消息可靠投递,核心字段:

  1. 订单id
  2. MQ消息体:包含订单id、订单内商品id、对应扣减数量
  3. 消息状态:待发送、已发送未确认、消费成功、消费失败(库存扣减失败等)
  4. 重试次数
  5. 失败数据处理状态:待处理、已生成工单(工单由人工处理或系统自动处理)
字段状态释义
  • 消费成功:库存服务完成可售库存扣减,回调订单服务更新本地消息表状态为「消费成功」

3 方案核心异常兜底保障(三大一致性机制)

  1. 本地事务强一致
    订单创建、本地消息表插入操作在同一个数据库事务执行,保证订单数据与本地消息表数据强一致性,不会出现有订单无消息/有消息无订单的脏数据。

  2. MQ消息幂等防重复消费
    MQ存在重发机制,会产生重复消息;库存冻结流水表以订单id+商品id作为唯一联合主键,重复消息会被唯一索引拦截,避免重复扣减库存。

  3. 扣减失败兜底流程
    订单创建成功

相关新闻

  • 《图片添加贴纸》六、ArkTS常见编译错误修复指南
  • PHP代码安全告急!快用混淆加密算法,别让攻击者得逞
  • 用AI辅助写的稿子,怎么才能避开平台的AIGC检测?

最新新闻

  • 终极NVIDIA显卡隐藏设置解锁指南:如何用Profile Inspector提升游戏性能
  • Camera Shakify:3分钟为Blender动画注入真实电影感的神器
  • 如何快速上手Draw.io Desktop:新手完整图表制作指南
  • 3步构建AI视频本地化系统:打破语言障碍的智能方案
  • Zola静态网站生成器的架构设计与性能优化实现方案
  • 终极免费AI音乐生成指南:ACE-Step UI完整使用教程与实战技巧

日新闻

  • AI智能体安全防护框架AgentGuard:从原理到实战部署指南
  • KMX63与PIC18F26K40硬件组合及低功耗设计实践
  • 基于YOLO13改进的门体检测模型:C3k2模块与PoolingFormer技术解析

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号