RabbitMQ 死信队列

概述

DLX

全称Dead-Letter-Exchange,可以称之为死信交换器,死信邮箱。当消息在一个队列中变成死信后,它能被重新被发送到另一个交换器中,这个交换器就是DLX,绑定DLX的队列就称之为死信队列。

DLX也是一个正常的交换器,和一般交换器一样没有区别,他能在任何队列上被指定,实际上就是设置某个队列的属性。当这个队列中存在死信时,RabbitMQ就会自动地将这个消息重新发布到设置的DLX上去,进而被路由到另一个队列,即死信队列。可以监听这个队列中的消息以进行处理,这个特性与将消息TTL设置为0配合使用可以弥补immediate参数的功能。

对于RabbitMQ来说,DLX是一个非常有用的特性。他可以处理异常情况下,消息不能够被消费者正确消费而被置入死信队列中的情况,后续分析程序可以通过消费这个死信队列中的内容来分析当时遇到的异常情况,进而可以改善和优化系统,DLL配合TTL使用还可以实现延迟队列的功能。

你可能感兴趣的:(RabbitMQ,rabbitmq)