想问下各位大佬这个面试题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fatcheung
V2EX    Java

想问下各位大佬这个面试题

  •  
  •   fatcheung 2021-04-10 07:49:01 +08:00 via Android 3469 次点击
    这是一个创建于 1649 天前的主题,其中的信息可能已经有所发展或是发生改变。
    就是我们发送消息可能会用到消息中间件,如果失败了,我们会记录到表里面,然后会用定时调度去扫。但是这个操作可能会有一定的延时,有没有更快的方法?
    14 条回复    2021-04-13 00:49:24 +08:00
    xuanbg
        1
    xuanbg  
       2021-04-10 08:07:20 +08:00
    快是什么快?要消除的是定时任务的延时效果?这个没意义,现在发不出去的消息,马上重发大概率也是发不出去的。
    fatcheung
        2
    fatcheung  
    OP
       2021-04-10 08:19:10 +08:00 via Android
    @xuanbg 对啊,面试官问我有没有更加即时的方法,我答不上来,有点困惑,想问问各位老哥
    noreplay
        3
    noreplay  
       2021-04-10 08:51:49 +08:00 via Android
    跟面试官说,记录完之后,发个通知给面试官,让面试官马上打电话通知调用方。
    mseasons
        4
    mseasons  
       2021-04-10 09:04:34 +08:00
    将失败了的信息写进一个优先级队列,然后每次执行任务之前都检查队列,有就发送。

    实际上把轮询写进了代码逻辑,就像程序响应系统中断一样
    skymei
        5
    skymei  
       2021-04-10 09:09:28 +08:00
    没有 ACK 机制吗,失败的没有 ACK 确认会自动进入延时队列,延时结束之后会自动进入原队列。
    leafre
        6
    leafre  
       2021-04-10 09:38:08 +08:00
    callback 持久化到 db 同时开个线程重试消息
    ch2
        7
    ch2  
       2021-04-10 09:45:01 +08:00 via iPhone
    把定时任务改成循环监听,就是看门狗机制
    blackboom
        8
    blackboom  
       2021-04-10 11:42:52 +08:00 via iPhone
    Binlog listener
    young1lin
        9
    young1lin  
       2021-04-10 11:51:21 +08:00
    用 Binglog 机制不行么,或者 MySQL 的插件 mysql-udf-http 。或者像 Kafka 一样,用带有回调的方法发送消息,阻塞直到发送成功,外加 ACK = -1
    qianxiaobang
        10
    qianxiaobang  
       2021-04-10 13:42:32 +08:00
    加个发送结果,发送过去如果没有响应,就起几个定时任务( 10s,30s,60s,5min )来重试;长期没有结果再走定时跑批
    jacksparrow414
        11
    jacksparrow414  
       2021-04-10 13:49:50 +08:00
    redis 的 list 结构? LPUSHRPOP 试一下
    securityCoding
        12
    securityCoding  
       2021-04-10 14:03:32 +08:00 via Android
    他想要的应该是 binlog
    DoctorCat
        13
    DoctorCat  
       2021-04-10 19:13:11 +08:00
    写到 kafka/RabbitMQ/RocketMQ 理论上应该更快一些。
    cubecube
        14
    cubecube  
       2021-04-13 00:49:24 +08:00
    应该是想让你说延时队列处理,然后 balabala 队列的一些问题
    关于     帮助文档     自助推广系统   博客     API     FAQ     Solana     904 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 20:46 PVG 04:46 LAX 13:46 JFK 16:46
    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