RabbitMQ 死信队列
Posted 夏小花花
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ 死信队列相关的知识,希望对你有一定的参考价值。
文章目录
死信队列
定义
无法处理的消息
应用场景
应用场景:为了保证订单业务的消息数据不丢失,需要使用到 RabbitMQ 的死信队列机制,当消息消费发生异常时,将消息投入死信队列中,还有比如说: 用户在商城下单成功并点击去支付后在指定时间未支付时自动失效
产生死信的原因
消息TTL(存活时间)过期
队列达到最大长度(队列满了,无法在添加数据导MQ中)
消息被拒绝(否定应答并且不放回队列当中)
下图为死信队列的逻辑图,可以参考下图理解一下
设置TTL时间限制
生产者
AMQP.BasicProperties properties = new AMQP.BasicProperties().builder().expiration("10000").build();
消费者
设置队列最大长度限制
消费者
设置消息被拒绝且不放回队列中
消费者
以上是关于RabbitMQ 死信队列的主要内容,如果未能解决你的问题,请参考以下文章