专栏名称: 程序员鱼皮
鹅厂全栈开发,持续分享编程技法和实用项目
今天看啥  ›  专栏  ›  程序员鱼皮

RabbitMQ 如何实现延迟队列?答案可不止一种

程序员鱼皮  · 公众号  ·  · 2024-08-18 15:53
    

文章预览

此答案节选自我们最近弄的  面试鸭刷题工具 ,更多 大厂常问面试题 ,可以点击下面的小程序进行阅读哈! 回答重点 RabbitMQ 本身不支持延迟消息,但是可以通过它提供的两个特性 TTL(Time-To-Live and Expiration ,消息存活时间)、DLX(Dead Letter Exchanges,死信交换器) 来实现。还可以利用 RabbitMQ 插件来实现。 使用TTL + 死信队列: 在 RabbitMQ 中,通过设置消息的 TTL 和死信交换器可以实现延迟队列。 不给原队列(正常队列)设置消费者,当消息在原队列中达到 TTL 后,由于还未被消费,则会被转发到绑定的死信交换器,消费者从死信队列中消费消息,从而实现消息的延迟处理。 使用 RabbitMQ 插件:延迟消息插件(rabbitmq-delayed-message-exchange): 通过安装 RabbitMQ 的延迟消息插件,可以直接创建延迟交换器(Delayed Exchange)。 在发送消息时,指定消息的延迟 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览