延迟队列——消息进入到队列之后,延迟指定的时间才能被消费者消费
AMQP协议和RabbitMQ队列本身是不支持延迟队列功能的,但是可以通过TTL(Time To Live)特性模拟延迟队列的功能
TTL就是消息的存活时间。RabbitMQ可以分别对队列和消息设置存活时间
在创建队列的时候可以设置队列的存活时间,当消息进入到队列并且在存活时间内没有消费者消费,则此消息就会从当前队列被移除;
创建消息队列没有设置TTL,但是消息设置了TTL,那么当消息的存活时间结束,也会被移除;
当TTL结束之后,我们可以指定将当前队列的消息转存到其他指定的队列
实现流程图:
RabbitMQ延时机制
原文:https://www.cnblogs.com/baicai1/p/13891844.html