RabbitMQ-消息延迟

一、死信交换机

1、描述

一个队列接收到的消息有过期时间,消息过期之后,如果配置有死信队列,消息就会进去死信队列。

2、图解

3、过程

当生产者将消息发送到exchange1,然后交换机将消息路由到队列queue1,但是队列queue1没有消费者,所以当该队列里面的值过期时,就会将消息发送到死信交换机exchange2,进而到达死信队列,最后被消费。从而达到了延迟消息的目的。

二、官方插件-延迟队列

DelayExchange的本质还是官方的三种交换机,只是添加了延迟功能 。因此使用时只需要声明一个交换机,交换机的类型可以是任意类型,然后设定delayed属性为true即可。

相关推荐
咖啡Beans9 分钟前
SseEmitter + WebClient + Flux实现SSE事件流推送
java·spring boot·flux
你三大爷22 分钟前
Safepoint的秘密探寻
java·后端
努力也学不会java1 小时前
【Java并发】揭秘Lock体系 -- condition等待通知机制
java·开发语言·人工智能·机器学习·juc·condition
我需要打球1 小时前
SpringMVC的执行流程
java·servlet
拾忆,想起1 小时前
RabbitMQ死信交换机:消息的“流放之地“
开发语言·网络·分布式·后端·性能优化·rabbitmq
瑞士卷@1 小时前
JDBC进阶之连接池的配置(Druid与HikariCP)
java·开发语言·数据库
xiaopengbc2 小时前
泛型在Java集合框架中的应用有哪些?
java·开发语言·python
沐浴露z2 小时前
一篇文章入门RabbitMQ:基本概念与Java使用
java·分布式·rabbitmq
失散132 小时前
分布式专题——24 Kafka功能扩展
java·分布式·云原生·架构·kafka
zhangxuyu11183 小时前
全栈工程师项目练习记录
java·spring boot