我正在设计一个系统,该系统具有与亚马逊产品结帐相同的逻辑。让我来参考亚马逊来解释这个问题。
一款新发布的产品,比如手机,在亚马逊的库存有限,比如1000个。它将于今天上午9点发布。现在,要在亚马逊购买任何产品,当您在产品页面中时,可以单击“立即购买”按钮。这将带您进入结帐页面(其中包含收据以及详细列出的送货地址和付款方式)。结帐页面具有“立即付款”按钮,点击该按钮将调用支付网关以开始支付过程。现在我只想要支付1000个单位而不是更多。这也应该记住,点击“立即购买”的前1000人不会最终付款,即使他们中的许多人开始付款流程,他们的付款可能会失败并且必须重新进行。如何设计这样的系统,以便在不保证库存可用性的情况下不启动付款。假设它是一个销售,并且在产品的第一分钟内有100X人正在访问该网站。 (X =可用单位数)
这将导致潜在的销售损失。另一种方法是选择后续步骤来减少可用库存,减少销售损失,但更多可能无法完成订单的潜在愤怒客户。