脑补了一个微服务场景, 请问解决方案是什么?

查看 546|回复 45
作者:chaleaochexist   
还是说没有解决方案
卖苹果, 库存 3 个. 有人买了, 先减库存(苹果-1)因为支付失败,需要逆操作补库存(苹果+1).
但是苹果+1 在先 -1 在后.
理论上某个时刻苹果的库存变成 4 了.
请问如何解决?

库存, 苹果, 请问, 解决

hhjswf   
为什么+1 会在先?
要是说某个时刻库存是 2 ,人间蒸发了 1 个,怎么保证强一致性,那还有的讨论
potatowish   
苹果-1 发了一条消息,苹果+1 又发了一条消息,消息在投递和消费的过程如果不能保证顺序性就可能出现你说的这种问题。
jdOY   
1.幂等
2.先扣减再补
3.补库后的总数小于等于原始的总数
ltkun   
i++和++i
lsk569937453   
这就是分布式事务啊。。。。。。
chunworkhard   
学习学习~
asssfsdfw   
减库存的时候发两个时间,一个用来减库存,一个用来补库存。 补库存的时间晚于减库存的时间。
asssfsdfw   
打错了, 是购买的时候发两个时间
asssfsdfw   
也可以不发时间,打两个标记。 补库存的时候发现减库存的标记还在,那就清除两个标记,不增不减。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部