Language agnostic 对于电子商务系统,您的事务管理策略应该是什么?

Language agnostic 对于电子商务系统,您的事务管理策略应该是什么?,language-agnostic,transactions,e-commerce,Language Agnostic,Transactions,E Commerce,在基于web的电子商务系统中,管理交易的一般模式或方法是什么?例如,如何处理多个用户试图购买最后一件商品的情况?为了防止两个用户购买同一件库存只有1件的商品,您需要在创建订单并减少该商品的库存之前,检查用户购物车中的每件商品是否有库存 此操作必须是原子操作,并且在任何给定时间只能处理一个订单(读取:),如果您使用中央数据库进行库存管理,这应该不是问题 如果客户退房时库存已经用完,您应该将商品从客户购物车中取出,并将其重定向到他们的购物车,通知他们情况 当然,只有当两个用户都将相同的库存项目添加到

在基于web的电子商务系统中,管理交易的一般模式或方法是什么?例如,如何处理多个用户试图购买最后一件商品的情况?

为了防止两个用户购买同一件库存只有1件的商品,您需要在创建订单并减少该商品的库存之前,检查用户购物车中的每件商品是否有库存

此操作必须是原子操作,并且在任何给定时间只能处理一个订单(读取:),如果您使用中央数据库进行库存管理,这应该不是问题

如果客户退房时库存已经用完,您应该将商品从客户购物车中取出,并将其重定向到他们的购物车,通知他们情况

当然,只有当两个用户都将相同的库存项目添加到他们的购物车中,其中只有一个单位在库存中,并且其中一个用户签出时,才会出现这种情况。先到先得。如果当时没有存货,你一般不应该允许客户将产品添加到购物车中,除非你能在合理的时间内订购新的存货,但在这种情况下,这一点是没有意义的


您可以采取先发制人的方法,在客户发起结账时检查库存是否可用,并采取与上述相同的方法。但是,这取决于产品的性质以及交易量与取消订单的对比。如果同一商品的另一个订单很可能同时被取消,并且在客户退房时库存变得可用,那么您不希望因为告诉客户没有库存而失去销售。最好在没有库存的情况下让订单失败,并通知客户这种情况,毕竟这种情况很少见。

为了防止两个用户购买同一库存商品,而该商品只有1台库存,您需要检查用户购物车中的每个商品是否有可用库存,然后才能为该商品创建订单并减少库存

此操作必须是原子操作,并且在任何给定时间只能处理一个订单(读取:),如果您使用中央数据库进行库存管理,这应该不是问题

如果客户退房时库存已经用完,您应该将商品从客户购物车中取出,并将其重定向到他们的购物车,通知他们情况

当然,只有当两个用户都将相同的库存项目添加到他们的购物车中,其中只有一个单位在库存中,并且其中一个用户签出时,才会出现这种情况。先到先得。如果当时没有存货,你一般不应该允许客户将产品添加到购物车中,除非你能在合理的时间内订购新的存货,但在这种情况下,这一点是没有意义的


您可以采取先发制人的方法,在客户发起结账时检查库存是否可用,并采取与上述相同的方法。但是,这取决于产品的性质以及交易量与取消订单的对比。如果同一商品的另一个订单很可能同时被取消,并且在客户退房时库存变得可用,那么您不希望因为告诉客户没有库存而失去销售。最好在没有存货的时候让订单失败,并通知客户这种情况,毕竟这种情况很少见。

为什么不接受订单,然后再为客户购买该商品,也许晚一点?您可以赢得一个回头客:)

为什么不接受订单,然后为客户购买该商品,也许要晚一点?您可以通过“常规模式或方法”赢得回头客:)

您是指库存有限的情况还是其他情况?请详细说明您的要求。我只是在寻找处理“竞争性”交易场景的一般方法。您所说的“一般模式或方法”是指库存有限的情况还是其他情况?请详细说明您的要求。我只是在寻找处理“竞争性”交易场景的一般方法。那么您如何处理失败?如果在您尝试处理订单时库存不可用,您是否会向用户显示一条消息,说“对不起,商品不可用”,然后如何处理失败?如果在您尝试处理订单时库存不可用,您是否会向用户显示一条消息,说“对不起,商品不可用”?