伙伴云客服论坛»论坛 S区 S客户管理 查看内容

0 评论

0 收藏

分享

订单和库存处置方案

介绍
前提:分布式系统,高并发场景
商品A只要100库存,如今有1000或者更多的用户购置。如何保证库存在高并发的场景下是安全的。
预期结果:1.不超卖 2.不少卖 3.下单响应快 4.用户体验好
下单思路:
1.下单时生成订单,减库存,同时记录库存流水,在这里需要先停止库存操作再生成订单数据,这样库存修改胜利,响应超时的特殊情况也可以通过第四步定时校验库存流水来完成最终一致性。
2.支付胜利删除库存流水,处置完成删除可以让库存流水数据表数据量少,易于维护。
3.未支付取消订单,还库存+删除库存流水
4.定时校验库存流水,结合订单状态停止响应处置,保证最终一致性
(退单有单独的库存流水,申请退单插入流水,退单完成删除流水+还库存)
什么时候停止减库存
方案一:加购时减库存。
方案二:确认订单页减库存。
方案三:提交订单时减库存。
方案四:支付时减库存。
分析:
方案一:在这个时间内参与购物车并不代表用户一定会购置,假设这个时候处置库存,会导致想购置的用户显示无货。而不想购置的人不时占着库存。显然这种做法是不可取的。唯品会购物车锁库存,但是他们是另一种做法,参与购物车后会有一定时效,超时会从购物车肃清。
方案二:确认订单页用户有购置欲望,但是此时没有提交订单,减库存会增加很大的复杂性,而且确认订单页的功能是让用户确认信息,减库存不合理ÿ

回复

举报 使用道具

相关帖子
全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

城南有旧事
注册会员
主题 18
回复 16
粉丝 0
|网站地图
快速回复 返回顶部 返回列表