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

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

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

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

9768 次点击
所在节点    程序员
90 条回复
kop1989
2020-09-03 14:14:55 +08:00
下单出库,然后异步支付。
下单超时退库。
针对下单出库环节,如果是特定场景(比如秒杀)可以用秒杀业务来解决。
如果是普通场景,可以用分布式解决。
比如 a 商店对应 a 数据库,b 商店对应 b 数据库。
kop1989
2020-09-03 14:24:02 +08:00
至于说秒杀逻辑是怎样,可以 v 站搜索“一亿并发”帖子中我的回答。
takemeaway
2020-09-03 16:41:45 +08:00
@kop1989 第一步就错了,下单就出库? 我一个人就能把你库存给秒了。
kop1989
2020-09-03 16:47:30 +08:00
@takemeaway #3 你可以秒,反过来我也可以封你的号。比如 12306
takemeaway
2020-09-03 16:56:11 +08:00
@kop1989 你没有做过电商系统吧? 还封号。。。
12306 怎么比? 限制了一个号下一次一个座位,还必须身份证。
真是懒得跟你扯
kop1989
2020-09-03 16:56:53 +08:00
@takemeaway #5 要不大神您聊聊您的方案?
pushback
2020-09-03 16:57:59 +08:00
@kop1989 我做的流程都是支付完成才算出库
kop1989
2020-09-03 16:59:10 +08:00
@pushback #7 那如何解决超发问题的呢?别人正在支付过程中,支付成功后,告诉说没货了,再自动退款?
pushback
2020-09-03 17:00:11 +08:00
@kop1989 redis 锁😂
kop1989
2020-09-03 17:02:46 +08:00
@pushback 不太理解,支付是一个客户的异步行为,理论上讲能下单就应该能支付。那么不就会超发么?不管用什么技术,都阻拦不了用户的异步支付行为。最终只有两个选择,要么下单占库存,要么支付后退款。
lcy630409
2020-09-03 17:06:47 +08:00
楼上的不要吵
A388
2020-09-03 17:07:49 +08:00
快点继续,楼上的。
@pushback
@kop1989
看你们的结果
lcy630409
2020-09-03 17:07:55 +08:00
楼上的不要吵
要看具体的运营策略
一般三中
1 、下订单扣库存 (后台定时任务 超时未支付返还库存)
2 、支付成功扣库存
3 、发货完成扣库存
A388
2020-09-03 17:10:27 +08:00
@lcy630409 这样不会出现问题吗?比如一个商家卖 1000 件商品。我一次性下单 1000 件,但是就不支付。那岂不是影响商家正常销售了。
Vegetable
2020-09-03 17:10:32 +08:00
@pushback #7 你锁了不就等于出库了吗?
pushback
2020-09-03 17:11:27 +08:00
@kop1989 我个人对电商这块也很迷茫,因为之前做的都是无库存类的支付,比如 vip 、支付币、游戏充值这些。
我上面所说的下单前含了一步对库存量和 redis 待支付订单键数进行比较,支付完成后扣除库存,删除待支付订单对应缓存,所以生产环境到现在还没发现什么问题
pushback
2020-09-03 17:12:08 +08:00
@Vegetable 对,我也没提反对意见啊,只是我们没有回库的操作
kop1989
2020-09-03 17:12:21 +08:00
@Livid 浏览了一下,takemeaway 专业灌水+喷子
lcy630409
2020-09-03 17:12:35 +08:00
@A388 如果出现这种情况 冻结账号 封 ip,如果经常出现 调整为支付扣库存
A388
2020-09-03 17:16:53 +08:00
@lcy630409 支付扣库存的话,又可能出现一个商品有可能支付了 1 万个人,结果就一个人抢到了。那岂不是要退 9999 的款。不然,就只能搞成串行

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

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

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

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

© 2021 V2EX