对应的教程视频:
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 头,值为超时时间