V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hi543
V2EX  ›  程序员

时至如今订单并发超售很难解决吗?双 11 亲身遭遇天猫订单超售导致不能支付

  •  
  •   hi543 · 109 天前 · 4537 次点击
    这是一个创建于 109 天前的主题,其中的信息可能已经有所发展或是发生改变。

    双 11 首次亲身遭遇有订单不能支付的情况,支付提示库存不足,联系卖家补充。一瞬间就把锅甩给卖家了,不明真相的人可能真以为是卖家的问题。

    咱好歹也学了点编程,多少知道这是多并发导致的。V2 大佬多,我就不献丑了。

    但是购物体验是真的差,熬夜东西抢到了,很欣慰,却不能支付,太难了。天猫作为平台方也不管,躺着把钱挣了,锅还甩出去了。 ——————————————————————————

    时至今日,真的无法解决此类问题吗?

    贴个图吧,免得有人说我造谣。

    库存不足.jpg

    49 条回复    2020-11-12 15:05:31 +08:00
    js8510
        1
    js8510   109 天前   ❤️ 3
    很难。

    如果你再学一点,能够更加有效的解决这个问题。建议发一篇论文分享给大家。此后余生不用再为生机奔波。

    愿你早日成功。
    Heiban
        2
    Heiban   109 天前 via iPhone
    说一句我碰到的疑惑,不能退款是最不应该的吧,有人说银行接口压力过大?直接退支付宝也不行吗……

    淘宝和京东的资金流差很多倍吗,我看京东可以退款。
    Heiban
        3
    Heiban   109 天前 via iPhone
    资金流➡️交易量
    opengps
        4
    opengps   109 天前 via Android   ❤️ 1
    流量激增之后,后端即使有很多服务器,但是死掉的某一台,也会让这台服务器当前的承载的链接挂掉。
    我的闲置的服务器一年了都没问题,就在刚才来了一条自动重启通知。这种重启是跟整个机房的网络波动有一定关系的。
    //i.v2ex.co/SrgZ04q5l.jpeg
    iamwho
        5
    iamwho   108 天前
    其实支付减库存已经解决了,你买不到所以认为没解决。
    如果只是想付款成功,卖家设置 180 天内发货、库存拉满也能玩。
    福报马又不是傻子,砸自己招牌。
    lmmortal
        6
    lmmortal   108 天前 via iPad
    @Heiban 不能退款可能是基于仓储物流操作考虑,淘系物流不能和京东比,京东物流是自己的,好控制
    flyz
        7
    flyz   108 天前 via Android   ❤️ 1
    @Heiban 银行卡付款只能原路返回,那么信用卡付款可以退支付宝余额不就是官方套现了呢。
    Zheming
        8
    Zheming   108 天前 via iPhone   ❤️ 1
    我觉得所谓退款压力过大是一种无能躺平+有利可图的行为,不让你退款销售额只增不减。至于银行不银行的,平常退款也不是立刻到账啊,需要有一段时间和银行对接,真要想退,这个时间拉长点不得了。
    xuanbg
        9
    xuanbg   108 天前
    确实很难。因为只有在高并发的时候,才真正会超卖。而高并发的时候,想要不超卖就得牺牲处理效率。这个矛盾技术是解决不了的。所以,你是老板你肯牺牲效率吗?超卖天又不会塌下来。
    luckylo
        10
    luckylo   108 天前 via Android
    退款问题,只是为了数字好看而已
    realpg
        11
    realpg   108 天前   ❤️ 2
    不同占用库存方式的区别
    支付扣 下单扣 加购物车扣 三种模式
    京东是下单扣
    淘宝大部分是支付扣
    当年的被薅王者是加购物车扣
    des
        12
    des   108 天前
    真要容易解决,12306 每到节假日体验那么差了,排队 xN
    young1lin
        13
    young1lin   108 天前
    @Heiban 京东我也下了单,不能看送达地址是哪,太操蛋了。我几个地址,以前买其他地址用的旧地址,不知道有没有用到当前最新的地址,我在下第一单的时候用的,之后就不清楚了。返回的信息太少了,地址填错了的话我都不知道怎么办。
    young1lin
        14
    young1lin   108 天前
    @des 其实 12306 也是由阿里派人过去支持再次开发的。。。
    EminemW
        15
    EminemW   108 天前 via iPhone
    的确好难
    ily433664
        16
    ily433664   108 天前
    @young1lin #13 订单点进去就可以看到收货地址啊
    Wangdamao
        17
    Wangdamao   108 天前 via Android
    @young1lin #14 双十一和 12306 感觉没有可比性
    misaka19000
        18
    misaka19000   108 天前
    本质上是 CAP 问题,分布式系统中为了保证 AP,C 必然无法保证
    across
        19
    across   108 天前 via iPhone
    @Zheming 退款不会扣除销售额吧,这个数额你都没法统计,最后只会统计退货率。
    woshiaha
        20
    woshiaha   108 天前
    CAP 理论了解下 很多简单的编程问题放大到几百万并发的分布式场景下都会难以完美解决
    fumichael
        21
    fumichael   108 天前
    咱好歹也学了点编程,多少知道这是个超级难题啊
    whx20202
        22
    whx20202   108 天前
    @realpg 个人觉得是正解,另外好像淘宝是可以选择库存模式的
    lyy16384
        23
    lyy16384   108 天前   ❤️ 3
    都提示库存不足了怎么还能叫超售呢,你付了款收不到货才叫超售啊
    jmc891205
        24
    jmc891205   108 天前
    支付了没货发才叫超售。。。
    JustPisces
        25
    JustPisces   108 天前
    我反正硬生生点了 20 多分钟终于等到有人的订单没支付自动取消了,我立马就付款了
    Justin13
        26
    Justin13   108 天前 via Android
    首先这不叫超售,其次支付了才扣库存很合理,最大程度减少黄牛。
    0ray
        27
    0ray   108 天前
    都没付款,怎么能叫超售了
    chenqh
        28
    chenqh   108 天前
    双 11 有库存这个东西吗?又不是 12306
    GM
        29
    GM   108 天前
    你就想吧,如果真的很容易解决,那 TB 、JD 、PDD 等大平台十年前就肯定已经完美解决、绝对不会再出现了。

    归根到底,就是 CAP 问题而已,三者只能取其二:

    要一致性,那么必须可用性、容错性中的一个

    要可用性,那么必须一致性、容错性中的一个

    要容错性,那么必须一致性、可用性中的一个

    你想三个都要?除非活在物理定律不一样的另一个宇宙才有可能了。
    GM
        30
    GM   108 天前
    @GM #29 楼,那么必须 => 那么必须牺牲
    firefox12
        31
    firefox12   108 天前
    一个机房是简单的,多个机房就很难了。想一下 现在都是几十个 idc, 你是 nike, 你要卖 1000 双鞋, 你的数据库已经分成了几十个,在不同数据库里。1000 双怎么分, 然后 比如 有时候 这个机房要 2 双, 它只剩 1 双了。怎么拼? 强一致性当然可以,交易速度降一个级别? 总之 就是各种取舍。
    zeng33
        32
    zeng33   108 天前
    我是不懂楼主的意思的,看了底下评论说的牛头不搭马嘴。
    第一我想问,什么叫没解决订单并发超售的问题?例如这个商品只有 10 个库存,然后有 100 个人进来买,10 人付款成功,90 人显示楼主截图这个页面,有问题吗??难道说要 10 个库存要 100 个人全付款成功才叫解决这个问题?
    第二,10 个库存,100 人进来买,那 90 人不显示你截图的页面那应该显示什么界面?
    ryanlid
        33
    ryanlid   108 天前
    还没付钱呢,期待收货?
    xieqiqiang00
        34
    xieqiqiang00   108 天前
    没有付款成功的话,交易根本没有建立啊,建立订单的数量可以大于实际库存数量的吧
    smy14520
        35
    smy14520   108 天前
    有点疑惑,你这不是没付款成功吗, 这不是成功控制了超售.....
    UN2758
        36
    UN2758   108 天前
    @GM #29 请问一下 CAP 里 AP 怎么理解啊,一致性可以理解两台机器中的数据是否相同,可用性是指程度意义上的可用吗,比如可用性程度是可以从小到大的?
    mawerss1
        37
    mawerss1   108 天前
    @xieqiqiang00
    楼主应该是到了待付款状态,说明已经下单了,楼主意思应该是待付款状态的商品超卖了
    hi543
        38
    hi543   108 天前
    @mawerss1 #37

    是的,我订单提交成功了,只是犹豫了一会儿才准备付款。

    头一次遇到这种情况,通常认为下了单付不付款是我决定,不能因为没库存就不允许支付了。否则提交订单后,还没有库存,那么这提交订单还有什么意义呢?
    mawerss1
        39
    mawerss1   108 天前
    @hi543
    从这个情况看,我感觉应该是有两个库存量字段,下单时检查一次,付款时再检查一次
    longsays
        40
    longsays   108 天前 via Android
    @hi543 有下单减库存和付款减库存
    活动大促期间商家一般都是付款减库存
    不然一堆锁单又不买的,或者竞争对手拍下不付款
    hi543
        41
    hi543   108 天前
    @mawerss1 #39 平常天猫立即购买页面,如果是抢购没货的话,页面会提示“目前还有人未支付,请 15 分钟内刷新”类似的提示语,从而我认为天猫只要提交了订单就是有库存的。今天头一次遇到有订单还不能支付的情况,刷新了自己的认知。

    不过你这个说法也比较靠谱。提交订单的时候检查一次库存。付款时又检查一次。
    GM
        42
    GM   108 天前
    @UN2758 可用性,指的是任何时候都正常使用,比如一个机房被水淹了,另一个机房顶着。
    longsays
        43
    longsays   108 天前
    @hi543 #38 给你上一个淘宝后台图 这个是已知问题 没有缺货赔付 因为你没有付款成功
    hi543
        44
    hi543   108 天前
    @longsays #43 你说的我懂。问题此时提交订单岂不是失去了意义?
    young1lin
        45
    young1lin   107 天前
    @ily433664 没有,京东 app 上没看到,我点进去的,只有当前物流状态,没有收货地址详情
    goodboy95
        46
    goodboy95   107 天前
    论双 11 要求付定金的合理性
    mainjzb
        47
    mainjzb   107 天前
    楼主想要拍下减库存。
    卖家设置付款减库存。
    淘宝被迫背锅。
    dynastysea
        48
    dynastysea   107 天前
    @Heiban 阿里巴不得退支付宝,但是你仔细想想其中的问题点,大的可怕。这不是技术问题,这是政策问题了。非原路退回的后果仔细想想
    longsays
        49
    longsays   107 天前 via Android
    @hi543 看卖家策略呗,像你想的拍下减库存,竞争对手拍一堆不付款,或者等等党拍了继续等其他电商优惠,之后也是一堆不付款
    最后的结果想买的买不到,不想买的占一堆名额,商家明明还有很多库存,这对没抢到订单想买的和商家友好吗?
    真的想买就拍下立即付款即可
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1078 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:48 · PVG 05:48 · LAX 13:48 · JFK 16:48
    ♥ Do have faith in what you're doing.