美文网首页
10.延迟队列

10.延迟队列

作者: JiangCheng97 | 来源:发表于2019-08-14 15:15 被阅读0次

文章参考:Rabbit实战指南

延迟队列

延迟队列存储的对象是对应的延迟消息,所谓“延迟消息”是指当消息被发送以后,并不想让消费者立即拿到消息,而是等待特定时间后,消费者才能拿到消息进行消费。

在AMQP协议中,或者RabbitMQ本身没有直接支持延迟队列的功能,但是可以通过前面所介绍的DLX和TTL模拟出延迟队列的功能。

上次代码,不仅展示的是死信队列的用法,也是延迟队列的用法,对于queue.dlx这个死信队列,同样可以看做延迟对哦。假设一个应用需要将每条消息都设置为延迟10S,生产者通过exchange.normal这个交换器将发送的消息存储在queue.normal中。消费者订阅的并非是queue.dlx这个队列,而是queue.dlx这个队列。当消息从queue.normal这个队列中过期之后被存入queue.dlx这个队列中,消费者就恰巧消费到了延迟10秒的这条消息。

在真实应用中,对于延迟队列可以根据延迟时间的长短分为多个等级,一般分为5秒、10秒、30
秒、1分钟、5分钟、10 分钟、30分钟、1 小时这几个维度,当然也可以再细化一下。

相关文章

网友评论

      本文标题:10.延迟队列

      本文链接:https://www.haomeiwen.com/subject/sfggjctx.html