RabbitMQ之认识死信队列一

2019-04-11  本文已影响0人  瞿大官人

前言

RabbitMQ 有个队列叫死信队列,死信队列可以做蛮多事的,比如可以让消息半个小时后消费,规定每天几点钟消费消息等等。但其实死信队列与其他普通队列几乎是一样的。只不过消息在普通队列死亡后,普通队列根据自身设置的x-dead-letter-exchange,以及x-dead-letter-routing-key将消息推送到死信队列。如下图。

image.png

接下来实力操作一波,先定个小目标:普通队列的数据在过期后会自动往死信队列中推送。

实践

新建交换机

image.png

新建普通队列

  1. 新建normal.queue队列。
  2. 设置normal.queue指向死信队列的x-dead-letter-exchangex-dead-letter-routing-key
  3. 设置消息过期时间。


    新建普通队列

新建死信队列

新建死信队列

由于上述的普通队列指定消息死亡后将会推送的交换机为dead-exchange,路由键为dead.routingkey,因此死信队列需要绑定dead-exchange以及dead.routingKey

绑定exchage,routingKey

准备数据

现在往normal.queue队列中发送六个数据。截图如下。

准备数据

查看数据结果

由于normal.queue队列设置消息过期为10000毫秒,因此过了10000毫秒后消息自动过期,并且死信队列增加六条消息。如下截图。

image.png
消息到达死信队列后可以到死信队列中查看消息死亡原因。如下图。
image.png

总结

前言中展示的图就是最好的总结。这里再次贴出来。


image.png
上一篇下一篇

猜你喜欢

热点阅读