如何知道MQ已消费完所有消息

本文分享了在项目中如何判断MQ(消息队列)已消费完所有消息的三种方案:1) 消息打标,但由于MQ集群可能导致乱序而放弃;2) 监听消费端方法调用,认为无调用即消费完毕,但因改动较大未采用;3) 检查生产与消费数量相等,实际采用并注意消息丢失和重复消费问题。作者认为监听方法的可靠性更高,但因改动范围大而未采纳。
摘要由CSDN通过智能技术生成

最近做了个项目,碰到一个问题,目前已经解决,解决过程共享出来。

项目中用到了MQ的中间件,每天大概生产700万+的消息,生产耗时<消费耗时。

需求是我要把当天的消费情况及时落地,问题在于我不知道什么时候消费完所有消息,最主要的是,我不想写定时任务。

方案1:打标,就是在生产消息的时候把最后一条数据打标,从而在消费的时候能知道哪一条数最后一条数据,当执行完该条数据时,就可以进行数据落地操作,但是考虑到MQ是集群部署的,也就是说可能是乱序的,此方案PASS。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值