美文网首页
解决商品超卖问题

解决商品超卖问题

作者: totohui | 来源:发表于2018-04-26 10:57 被阅读0次

    一般的商品预下单会有一下流程,判断商品的库存,如果有库存,那么减库存,生成订单(这两个操作是一个事务)。在高并发的情况下,会有超卖的情况下。

    问题产生的原因是:多个线程(请求)同时进入减库存的操作,判断商品库存的方法尽管有,但是判断通过了,解决方法有多个:

    1.分布式情况下,采用分布式锁,可以用zookeeper+curator实现,在判断商品库存的方法前,先去申请锁

    2.在更新库存的表中添加判断,and stock_count > 0(这里简化场景,秒杀业务一次只允许秒杀一个商品),如果一个用户只能秒杀一次商品,需要在关联表中,对用户id和商品id建立唯一索引。

    相关文章

      网友评论

          本文标题:解决商品超卖问题

          本文链接:https://www.haomeiwen.com/subject/tadplftx.html