概述
延迟队列存储的对象就是对应的延迟消息,所谓“延迟消息”是指当消息被发送后,并不想让消费者立刻拿到消息,而是等待特定时间后消费者才能拿到这个消息进行消费。
在AMQP协议中,或则RabbitMQ本身没有直接支持延迟队列功能,但是可以通过DLX和TTL模拟出延迟队列的功能。
延迟队列使用场景
- 订单系统,一个用户下单之后通常有30分钟的时间进行支付,如果30分钟之内没有支付成功,那么这个订单将进行异常处理,这个时候就可以使用延迟队列来处理这些订单。
- 用户希望通过手机远程遥控家里的智能设备在指定的时间进行工作。这个时候可以将用户指令发送到延迟队列,当指令设定的时间到了再将指令推送到智能设备。