美文网首页
幂等性-库存扣减

幂等性-库存扣减

作者: 不务正业的coder | 来源:发表于2019-04-18 22:28 被阅读0次

如何在高并发场景下,库存扣减可能出现的数据不一致性问题。

示例:

如两个线程同时查询到库存num=5,其中一个线程扣减2个,另外一个线程扣减1个。最后库存num=4个,覆盖了另外一个线程执行的结果。

解决方案(利用乐观锁,可以理解为CAS原理)

(1) update stock set num=#{reduce_num} where stock_id=#{stock_id}

更改为:

(2) update stock set num=#{reduce_num} where stock_id=#{stock_id}
stock_id and num=#{old_num}

相关文章

  • 幂等性-库存扣减

    如何在高并发场景下,库存扣减可能出现的数据不一致性问题。 示例: 如两个线程同时查询到库存num=5,其中一个线程...

  • 电商产品库存扣减逻辑

    解读库存扣减逻辑: 1.库存主要分 总库存 冻结库存 可用库存 2.库存在提交订单的时候增加冻结库存并扣减可用库存...

  • 库存扣减

    此篇文章来自于京东大神开涛的微信公众号中的内容,感谢开涛大神,慢慢的干活,地址如下: https://mp.wei...

  • 分布式事务

    使用场景 例如: 电商下单 订单生成+扣减库存订单生成属于订单系统,扣减库存属于库存系统 db本地事务如何保证的?...

  • go-zero基础组件-分布式锁RedisLock

    为什么需要分布式锁 用户下单 锁住uid,防止重复下单。 库存扣减 锁住库存,防止超卖。 余额扣减 锁住账户,防止...

  • 用 Go + Redis 实现分布式锁

    为什么需要分布式锁 用户下单 锁住 uid,防止重复下单。 库存扣减 锁住库存,防止超卖。 余额扣减 锁住账户,防...

  • 基于redis实现的扣减库存

    在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。 解决方案 使用m...

  • 高并发场景下强一致预算/库存扣减方案

    场景描述 对于预算扣减/库存扣减类场景,我们需要根据业务对已有预算/库存做减法,拿发券的场景来举例: 需要满足不同...

  • RabbitMQ 消息顺序、消息幂等、消息重复、消息事务、集群

    1. 消息顺序 场景:比如下单操作,下单成功之后,会发布创建订单和扣减库存消息,但扣减库存消息执行会先于创建订单消...

  • 幂等

    再谈幂等机制 一、什么是幂等性? 幂等性(Idempotence)。在HTTP/1.1规范中幂等性的定义是: Me...

网友评论

      本文标题:幂等性-库存扣减

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