(rabbitmq的高级特性)死信交换机

发布于:2022-12-28 ⋅ 阅读:(193) ⋅ 点赞:(0)

对应的教程视频:

高级篇Day5-02-死信交换机_哔哩哔哩_bilibili

1.初始死信交换机

 总结:

什么样的消息会成为死信?

消息被消费者 reject 或者返回 nack
消息超时未消费
队列满了

如何给队列绑定死信交换机?

给队列设置 dead-letter-exchange 属性,指定一个交换机
给队列设置 dead-letter-routing-key 属性,设置死信交换机与死信队列的 RoutingKey

2.TTL

 

 总结:

消息超时的两种方式是?

给队列设置 ttl 属性,进入队列后超过 ttl 时间的消息变为死信
给消息设置 ttl 属性,队列接收到消息超过 ttl 时间后变为死信
两者共存时,以时间短的 ttl 为准

如何实现发送一个消息20秒后消费者才收到消息?

给消息的目标队列指定死信交换机
消费者监听与死信交换机绑定的队列
发送消息时给消息设置 ttl 20

 

3.延迟队列 

 延迟队列插件

因为延迟队列的需求非常多,所以RabbitMQ的官方也推出了一个插件,原生支持延迟队列效果。

 详细安装过程略~~~(我也没装,只是做下笔记,具体怎么装看教程视频吧或是自行查询资料)

 

 

 

 总结:

延迟队列插件的使用步骤包括哪些?

声明一个交换机,添加 delayed 属性为 true
发送消息时,添加 x-delay 头,值为超时时间

 

 


网站公告

今日签到

点亮在社区的每一天
去签到