问下一般电商网站中,下单和减库存是怎么设计的

2020-09-03 14:01:13 +08:00
 rqxiao

1.下单 2.减钱 3.减库存

这几个步骤如果出现瓶颈,一般用什么应对方案

9823 次点击
所在节点    程序员
90 条回复
supermoonie
2020-09-03 17:43:02 +08:00
我们是先支付创建订单,然后异步下订单,最后同步订单状态到各个系统
kop1989
2020-09-03 17:44:26 +08:00
@stzz 无论你用何种技术,出哪个库,结果都是出库(扣减可售数量)。无非就是下单扣减和支付回调确认后扣减两种。优劣我上面都写清楚了。
arthas2234
2020-09-03 17:59:51 +08:00
我们这里是下单了就锁,过期未支付就还原,还有库存预警逻辑
而支付的单更复杂,涉及退款流程
whileFalse
2020-09-03 18:19:39 +08:00
我记得淘宝以前是店主可设置下单即锁库存还是支付锁库存,现在不知道还是不是。

秒杀活动都是下单锁库存的。
rodrick
2020-09-03 20:16:24 +08:00
下单到出库中间多一道锁库存的操作我觉得是合理的,有时候确实也遇到过本来没抢到刷新一下又有货了,不知道是不是因为这个
guog
2020-09-03 20:22:54 +08:00
@ylsc633 貌似查询票读的缓存,不一定准
lscho
2020-09-03 20:26:52 +08:00
肯定是下单扣库存的多。。。因为支付后扣库存存在的问题比较多,通过运营手段不好解决。

而下单扣库存就好解决了,不管是风控还是限制单个账号购买数量(同 id 只能拍一个很常见吧)。然后一定时间内没有支付就取消订单释放库存。这应该是目前大电商平台通用的流程了。

特殊场景另论。
Macolor21
2020-09-03 21:38:41 +08:00
@A388 所以秒杀业务有限购
lxbu
2020-09-03 22:02:11 +08:00
最近也在做库存这块,有个问题想不通,A 下了一个订单有 1,2,3 三件商品,B 下了一个订单有 3,4 两件商品,AB 用户是同时下单,库存扣减是多件商品一个事务操作,那 A 在做库存扣减的时候,B 是不是就阻塞了
PopRain
2020-09-03 22:24:21 +08:00
@lxbu 如果都按商品 ID 顺序(一定的顺序)去扣减,应该就不会阻塞
yEhwG10ZJa83067x
2020-09-03 23:03:23 +08:00
@kop1989 #18 你的这条回复真的是让人大跌眼镜,这位在你帖子也没有灌水和和喷你啊,你还去查人家发帖纪录,真实
kop1989
2020-09-03 23:24:06 +08:00
@justrand #51 我的动机不需要你来揣测吧。事实上他是不是只反驳不出意见,是不是只是在灌水,如果是那我就没说错。
l1ve
2020-09-03 23:27:05 +08:00
逻辑上:
后台可以选择是下单减库存还是付款减库存

技术上:
一个对性能有点影响的方案可能是用锁来处理


实际上(我自己是个卖家):
又 TM 超卖了! 傻 X 平台!
alfchin
2020-09-04 00:47:29 +08:00
@whileFalse 闲鱼可以设置,避免某些沙雕搞攻击
huyi23
2020-09-04 02:37:28 +08:00
99%都是支付扣库存,什么超售?老板怕超售还是怕流失可能要买的用户?
另外对于 1%秒杀商品,可以加层 redis 控制下库存就行。
xuanbg
2020-09-04 08:33:33 +08:00
仅仅从下单开始的话,正常情况下库存是需要有一定数量的预留用于退换货的,所以不需要锁,并不会导致超卖。付款后扣减即可。

而且,从业务上来讲,超卖就超卖了。正常商品哪有没地方补货的,现在厂家代发货也是基操啊。
leafre
2020-09-04 08:53:13 +08:00
超不超卖,是并发减库存的问题,跟下单后减库或支付后减库无关。
至于什么时候减库看业务场景取舍,大多数场景使用下单后减库,支付后减库防止恶意占库存
sdxlh007
2020-09-04 08:59:48 +08:00
我在淘宝开的店是付款减库存的,因为如果拍下减库存,就像楼上说的,一个人就能把所有单秒了。。。然后竞争对手经常这么干,你还拿他没办法
xianxiaobo
2020-09-04 09:03:57 +08:00
@kop1989 你懂不懂什么是灌水,什么是喷子?灌水是回复跟主题一点关系都没有的内容。什么是喷子?喷子是问候你家人或者问候你的。建议去贴吧多学习学习。
luhe
2020-09-04 09:09:14 +08:00
虽然但是,takemeaway 在本帖的发言确实让人不适

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/703857

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX