Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

可靠事件队列缺乏隔离性,为什么会导致超售? #351

Open
DongJianquan opened this issue Aug 1, 2023 · 0 comments
Open

Comments

@DongJianquan
Copy link

分布式事务TCC小节中提到可靠事件队列的缺点时有下面一句话:
"譬如在本章的场景事例中,缺乏隔离性会带来的一个显而易见的问题便是‘超售‘:完全有可能两个客户在短时间内都成功购买了同一件商品,而且他们各自购买的数量都不超过目前的库存,但他们购买的数量之和却超过了库存。"。

我对”可靠事件队列缺乏隔离性而导致超售“有些疑问,希望有人可以帮忙解答,我的想法如下:

  1. 在可靠事件队列的场景中扣减货款的时候并不会检查库存,如果扣减货款成功,但是库存并不足,可靠消息队列又不可以再进行失败回滚,这种情况是超售吗?可是导致这种情况出现不是因为缺乏隔离性吧。
  2. 对于仓库服务本身来说,扣减库存操作不是在一个本地事务进行的吗?如果是在一个本地事务中,那不就可以通过加锁的操作避免超卖吗?是因为多个每个仓库服务节点都使用不同的数据库,而没有办法保证强一致性吗?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant