如何解决消息队列的延时及过期失效问题

参考答案

假设我们用的是RabbitMQ,RabbitMQ是可以设置过期时间的,就是TTL。

如果消息在queue中积压超过一定的时间,就会被RabbitMQ给清理掉,导致大量的数据直接丢失。

对于大量消息丢失的这种情况,我们可以采取批量重导的方式,即大量积压时,直接丢弃数据,等过了高峰期以后,写个临时程序,将丢失的那批数据逐一查找出来,然后重新灌入MQ里面,补回丢失的数据。

假设1万个订单积压在MQ里面没有处理,其中1000个订单都丢了,只能手动写程序,将丢失的1000个订单给查找到,手动发到MQ里去再补一次。

以上,是MQ面试题【如何解决消息队列的延时,以及过期失效问题】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧