rabbitmq 延迟消息队列
时间: 2023-10-03 20:04:17 浏览: 126
RabbitMQ延迟消息队列是一种在消息发送后延迟一段时间才能被消费的机制。它可以通过设置消息的TTL(Time To Live)属性来实现。然而,使用TTL属性设置的方式可能存在一些问题。例如,RabbitMQ只会检查第一个消息是否过期,如果第一个消息的延时时长较长,而第二个消息的延时时长较短,则第二个消息并不会优先得到执行。
为了解决这个问题,可以使用RabbitMQ插件来实现延迟队列。具体来说,可以选择适合自己RabbitMQ版本的插件,比如[rabbitmq-delayed-message-exchange](https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases)。这个插件可以在RabbitMQ中创建一个延迟交换器(Delayed Exchange),通过在消息发送时指定延迟时间以及目标交换器,将消息发送到延迟交换器中。然后,延迟交换器会根据指定的延迟时间将消息转发到目标交换器,从而实现延迟消息队列的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [RabbitMQ-延迟队列](https://blog.csdn.net/qq_44128703/article/details/125251438)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [【RabbitMq04】延迟队列](https://blog.csdn.net/weixin_40964170/article/details/119214296)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文