求教一个问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
abc0123xyz
V2EX    Java

求教一个问题

  •  
  •   abc0123xyz Mar 7, 2022 2174 views
    This topic created in 1511 days ago, the information mentioned may be changed or developed.

    大佬们,目前我在弄一个类似于自助售货机的东西

    流程大概是:机器显示二维码->微信扫码支付->服务器收到微信回调->通知设备支付完成->设备开始工作

    服务器通知设备支付完成,这一步该怎么优化比较好,有的地方网络质量不太好

    设备数量的话,现在是几十台,过几个月可能会接入一两千台

    目前通知设备支付完成,用的是 websocket

    大佬们,有没有什么建议..以前一直都是在写 crud..

    13 replies    2022-03-08 16:59:13 +08:00
    cheng6563
        1
    cheng6563  
       Mar 7, 2022
    WebSocket 推送和设备主动轮训一起上。
    网络质量实在不好,那也没啥办法啊。
    MoonWalker
        2
    MoonWalker  
       Mar 7, 2022
    重点是确保设备是真的收到了通知,考虑在服务端加消息队列,设备收到通知后再回复给服务端,然后移除消息。
    paradoxs
        3
    paradoxs  
       Mar 7, 2022
    mq ack
    murmur
        4
    murmur  
       Mar 7, 2022
    有的地方网络质量不太好直接放弃吧,选址是有讲究的
    abc0123xyz
        5
    abc0123xyz  
    OP
       Mar 7, 2022
    @murmur #4 这不是我一个农民工能决定的
    Kasumi20
        6
    Kasumi20  
       Mar 7, 2022
    有没有一种可能,用户支付完成后,服务器返回一个二维码,机器装个摄像头扫码,离线验证
    jeeyong
        7
    jeeyong  
       Mar 7, 2022
    多嘴一下吧. 不知道会不会有帮助
    我记得 Google 的那个 bbr 加速内核中有几种模式..
    至少有一种是通过牺牲流量提高连接的稳定性.
    我理解的原理就是每次发送请求都冗余发送, 如果对方回复了, 其余的就抛弃..
    这种模式用于网络连接质量差, 但需要稳定的场景..
    上次看介绍举例是航空航天领域.
    libook
        8
    libook  
       Mar 7, 2022
    WebSocket 对网质量要求会高一些吧,换来的好处是实时性以及双向通信,但你的项目其实不需要太高的实时性,延迟个几秒也是可以接受的,双向通信也可以用轮询来代替。
    现在不少 IoT 项目都是用消息队列来削峰填谷,你可以把交易的每个步骤做成队列,每个步骤都有校验机制和重试机制,再加一些回滚机制,来尽可能提高可靠性。
    registerrr
        9
    registerrr  
       Mar 7, 2022
    MQTT QoS=1
    RedBeanIce
        10
    RedBeanIce  
       Mar 7, 2022
    ack
    zmal
        11
    zmal  
       Mar 8, 2022
    你的需求对实时性要求不高,“通知设备支付完成”改成设备轮询支付确认接口。网络不好的问题,接口请求限制到一个 MTU(1500),减少拆包重传之类的网络问题。
    jazzg62
        12
    jazzg62  
       Mar 8, 2022
    mqtt 正解
    jazzg62
        13
    jazzg62  
       Mar 8, 2022
    mqtt 正解,而且算是比较很成熟的方案了
    About     Help     Advertise     Blog     API     FAQ     Solana     1067 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 60ms UTC 23:28 PVG 07:28 LAX 16:28 JFK 19:28
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86