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

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

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

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

10623 次点击
所在节点    程序员
90 条回复
xuanbg
2020-09-04 09:09:27 +08:00
@kop1989
>那如何解决超发问题的呢?别人正在支付过程中,支付成功后,告诉说没货了,再自动退款?

我想不出来什么情况下回没货。。。不能补货的吗?哦,补货会使发货时间变长,客户体验不好。体验好不好先不说,难道不能供应商代发货吗?你这个想法,真的做过电商?
StopTheWorld
2020-09-04 09:13:57 +08:00
@lxbu 3 这件商品上会有行锁,b 会堵塞。如果不加业务锁或者判断库存大于零再减库存就会超卖。
garlics
2020-09-04 09:18:15 +08:00
为什么楼里支持下单扣库存的人都默认超售是可以接受的?
目前主流的都是下单锁库存吧,淘宝双 11 的时候经常见到“有人还未付款,若 15 分钟后仍未付款,您将有购买机会”。
kop1989
2020-09-04 09:23:13 +08:00
@xuanbg #61 如果按照你的想法,京东自营也算是没做过电商的了。
RedBeanIce
2020-09-04 09:35:59 +08:00
@kop1989 #64 楼上的屁股好歪,支持你。
lxbu
2020-09-04 09:46:00 +08:00
@StopTheWorld #62 用了乐观锁去做,倒不会超卖,但是并发起来了,就会死锁
lxbu
2020-09-04 09:47:18 +08:00
@PopRain #50 如果并发起来了,阻塞的概率有点大,一般怎么解决呢
xuanbg
2020-09-04 09:58:31 +08:00
@garlics
@kop1989

京东自营这种超大型百货电商,自然是要支持不能超卖的,毕竟也有不少商品是不能超卖的。但对于一般的自营小电商,什么是超卖?不存在的。
coala
2020-09-04 10:00:08 +08:00
下单就出库 这个问题
做过京东拣货员 ,内部系统出现订单, 然后攒十几个 单子分给一个人,拣货员就可以拣货了, 的确有刚拣出货就退货的 ,打包员刚打包就退货的也有(京东出货速度很快)

结合我京东购物的经验
下订单扣库存,是肯定的
下订单后,订单状态是未付款,超时的单子放弃,内部拣货系统刷不出未付款的, 付款成功的单子状态更改,内部拣货系统刷出单子 开始拣货, 猜测是这个流程 (下订单直接拣货打包,两小时超时的时候 货都打包好准备运了,感觉不太可能,这个时候货很难拦截了,基本到配送站才能拦截,我实际遇到的都到快递员手里了,问我还要不要退)
azhi2007
2020-09-04 10:09:42 +08:00
支付成功后才出库,下订单只是锁库存,这是产品的逻辑,技术吗不知道咋实现这个高并发
ShundL
2020-09-04 10:10:27 +08:00
这种要看实际业务需要吧?像 shopnc 这种的电商系统,它是用户下单减库存,支付超时、订单取消就把库存量加回去,我觉得初期不用考虑那么复杂,又做不成淘宝那样的,顶多有活动时考虑一下并发超售问题。
MrZZZ
2020-09-04 10:13:43 +08:00
马克,这个帖子挺有意思
CoderGeek
2020-09-04 10:35:09 +08:00
看不懂楼上说的,
1.下单锁库存(锁库存超买,闲置 黑名单)
超时取消订单库存
2.支付通知成功减库存
调物流发货
CoderGeek
2020-09-04 10:36:45 +08:00
出现啥瓶颈 按道理来说只有秒杀抢购商品锁库存防止超买这一步 (文章太多)
剩下都是异步的了 理论上没有瓶颈
cnlee
2020-09-04 10:40:01 +08:00
下单锁库存,支付完成后走出库流程
YUyu101
2020-09-04 10:47:25 +08:00
可以几种都设计,给个选项让商品选在购买的什么阶段才锁库存,有的商品允许超卖,有的不允许,这下运营总没话说了吧
zjuster
2020-09-04 10:50:30 +08:00
这里有一个核心配置项的:下单减库存,还是支付减库存。前者有被同行恶意下单的风险,后者会超卖。通常这个选项是开放给商户的,即技术上两个都需要实现,因为某些场景和活动会出特定的库存管理策略。
注意,这里的“减”都是 锁定库存,东西还在仓库里呢,出库才扣掉(有出库单据)

每个方案平台可能都需要提前准备一些基础的措施,比如单用户限购、用户黑名单和恶意用户识别, 销量预测、低库存预警等。
zjuster
2020-09-04 10:53:44 +08:00
@ylsc633 火车票的库存与普通电商库存难度高一个台阶。
现在电商库存最复杂的是含区域限售(每个仓有自己的履约范围,多个仓有发货优先级,叠加预售可补逻辑)的全渠道库存管理

火车票...我形容不了,太复杂了...
leoskey
2020-09-04 11:40:28 +08:00
个人更支持下单减库存。对于恶意占用库存可以采取:
1.可以对限制用户下单数
2.用户恶意下单时限制用户的下单权限
3.减少库存锁定(订单超时)时长

如果能轻松处理退款,那支付后库存不足退款的方式更简单
penll
2020-09-04 11:41:47 +08:00
肯定下单,就扣库存呗。
防止恶意下单,就显示单次订单商品数量上限。还有,未支付订单上限,多次未支付下单,提示 xx 时间后,可再下单限制;

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

https://yangjunhui.monster/t/703857

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

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

© 2021 V2EX