Rabbitmq---死信、延迟、优先级队列

什么是死信队列

​ DLX,全称Dead-Letter-Exchange,可以称之为死信交换机,也可以称为死信邮箱。当消息在一个队列中变成死信(dead message)之后,它能被重新发送到另外一个交换机中,这个交换机就是DLX,绑定DLX的队列就称之为死信队列。

​ 消息变成死信一般由于以下几种情况:

		1. 消息被拒绝,并且设置requeue参数为false
		2. 消息过期
		3. 队列达到最大长度

什么是延迟队列

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

​ 延迟队列使用场景很多,比如:

  1. 在订单系统中,一个用户下单通常会有30分钟的时间进行支付,如果未在30分钟支付,则可以使用延迟队列来处理这些订单

  2. 手机远程定时操作智能设备。

    在AMQP协议中没有直接支持延迟队列的功能,可以通过之前介绍的DLX和TTL模拟出延迟队列的功能。


什么是优先级队列

​ 优先级队列就是具有高优先级的队列具有最高的优先权,可以先被消费。


知是行之始,行是知之成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
延迟队列在需要延时处理消息的场景下非常有用。使用RabbitMQ来实现延迟队列可以充分利用RabbitMQ的特性,如可靠发送和投递消息,以及死信队列来保证消息至少被消费一次,未被处理的消息也不会被丢弃。通过RabbitMQ集群的特性,可以解决单点故障的问题,即使某个节点挂掉,延迟队列仍然可用且消息不会丢失。\[1\] 在实现延迟队列的过程中,可以选择多种方式。比如利用Java的DelayQueue、Redis的zset、Quartz(定时器)或者Kafka的时间轮等。每种方式都有其适用的场景,需要根据具体需求来选择。\[1\] 关于RabbitMQ延迟队列实战,可以通过以下步骤来实现: 1. 安装Windows版Docker和RabbitMQ。 2. 使用Maven整合RabbitMQ,实现消息的生产和消费。 3. 使用RabbitMQ的发布确认和交换机确认来确保消息的可靠性。 4. 使用RabbitMQ的消息回报(队列确认)来处理未被消费的消息。 5. 可以考虑使用RabbitMQ的备份交换机和优先级队列来进一步增强延迟队列的功能。\[2\] 具体实现方式可以使用RabbitMQ提供的死信路由机制。当一个消息的时间戳到期时,如果还没有被消费,则会被转发到死信路由,消费者可以绑定到这个死信路由上来处理延迟消息。\[3\] #### 引用[.reference_title] - *1* [消息中间件 RabbitMQ延迟队列 详解&实战](https://blog.csdn.net/qq_52567278/article/details/124427476)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [RabbitMQ延迟队列及实战](https://blog.csdn.net/m0_68681879/article/details/129547212)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【项目实战篇】基于 RabbitMQ 实现延迟队列](https://blog.csdn.net/qq_18244417/article/details/117050723)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值