我正在使用ASP.NET MVC和MySQL开发一个在线商店项目。我有一个问题我无法解决。
我们说我有一个待售产品,只剩1个库存。 3个人将该产品添加到他们的购物车中,但在付款完成之前不会扣除库存。这是困难的部分。让我们假设两个人通过PayPal付款。由于外部处理付款,因此会有处理延迟。两者都通过paypal完成付款,但其中一个先回到了,因此确保了该项目。当第二个人回到我的网站时,它已经缺货但付款已经完成了。
我的问题是:
我可以用什么技巧来解决这个问题?
有没有人知道这个问题的术语/关键字,所以我可以谷歌并做一些阅读?
我想到的一个可能的解决方案是实施"储备"对于该项目。当它被添加到购物车时,库存将暂时减少到0,持续5分钟,以便其他人无法购买。但是,该解决方案是不合需要的,因为它会阻止真正的买家实际购买该物品。我希望有人可以解释一下。感谢。