死信,顾名思义,就是死掉的消息,死掉的消息是会被一般的队列丢弃的.如果这些消息很重要,而我们又需要,怎么办?凡事都有一个退路,现在就有一种方法可将这些死信消息存下来,那就是DLX(Dead Letter Exchanges).DLX是专门用来存储死信消息到指定队列中的一种交换机.需要在声明队列时指定DLX和死信存放队列的路由Key,因为RabbitMQ是通过Exchange去匹配路由key寻找队列的. 死信消息是怎么产生的呢? 1.消息被拒(basic.reject or basic.nack)…
来自一个队列的消息可以被当做‘死信’,即被重新发布到另外一个“exchange”去,这样的情况有: 消息被拒绝 (basic.reject or basic.nack) 且带 requeue=false 参数 消息的TTL-存活时间已经过期 队列长度限制被超越(队列满) Dead letter exchanges (DLXs) are normal exchanges. For any given queue, a DLX can be defined by clients usin…