分享

订单系统、库存系统、优惠券系统如何保证数据一致性

 quasiceo 2018-08-20

1.订单系统生成订单号,扔给一个差错恢复系统(存储在自己的db)

2.订单系统拿订单号调用库存系统,如果失败,则回滚库存(不管回滚成功或者失败,都通知前台失败)

3.订单系统拿订单号调用优惠券系统减少优惠券,如果失败,则回滚库存、回滚优惠券(不管回滚成功或者失败,都通知前台失败)

4.开启本地事物,创建订单记录


差错恢复系统每隔30秒捞取db中订单号,查询订单系统,如果订单记录ok,说明数据全部一致

如果没有订单记录,则根据订单号查询库存系统,如果库存已经回滚,则ok,否则调用库存回滚接口,重试直到成功

如果没有订单记录,则根据订单号查询优惠券系统,如果优惠券已经回滚,则ok,否则调用优惠券回滚接口,重试直到成功

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多