回顾RabbitMQ中的死信交换机和死信队列

一 概述

        对于RabbitMQ中被删除的消息是真的被删除了吗,答案是:NO;被删除的消息去往何方就涉及到了死信队列。

二 死信交换机

        死信交换机,Dead-Letter-Exchange 简称DLX。它是用来接收死信消息(Dead Mesasge)。成为死信消息的情况:

  • 消息被拒绝。
  • 消息过期。
  • 消息队列中的消息已经达到最大长度。

当队列中的消息变成死信消息之后,就会被发送到DLX,而绑定DLX的消息队列则为死信队列。

DLX本质上也是一个普通的交换机,我可以为任意队列指定DLX,当该队列总存在死信时,RabbitMQ就会自动的将这个死信发布到DLX上,进而被路由到另一个绑定了DLX的队列上(死信队列)。

三 死信队列

        绑定了死信交换机的队列就为死信队列。

        参考:RabbitMQ 中的消息会过期吗? (qq.com)icon-default.png?t=LA92https://mp.weixin.qq.com/s?__biz=MzI1NDY0MTkzNQ==&mid=2247494827&idx=1&sn=c7e6d24cc9ce7d21f3f450a41b565ddf&scene=21#wechat_redirect

你可能感兴趣的:(MQ,rabbitmq,java,分布式)