RabbitMQ自学笔记——延迟消息

延迟消息:生产者发送消息时指定一个时间,消费者不会立刻收到消息,而是在指定时间之后才收到消息。

1.死信交换机

初始设定消息的过期时间为30s,由于simple.queue队列没有消费者,当消息到达过期时间,没人消费就会成为死信,然后投到死信交换机dlx.direct中,就可供消费者消费。通过这种机制就可实现延迟消息。

发送方:

接收方:

2.延迟消息插件

RabbitMQ的官方也推出了一个插件,原理就是设计了一种支持延迟消息功能的交换机,当消息投递到交换机后可以暂存一定的时间,到期后再投入到队列中。虽然使用很便捷,但是对mq的性能来说还是有影响。

发送方发送消息时需要通过消息头来设置过期时间:

消费者方设置交换机支持延迟消息:

相关推荐
聪明的笨猪猪1 小时前
Java JVM “内存(1)”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
_dindong1 小时前
Linux网络编程:Socket编程TCP
linux·服务器·网络·笔记·学习·tcp/ip
摇滚侠2 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 属性优先级 行内写法 变量选择 笔记42
java·spring boot·笔记
摇滚侠2 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 总结 热部署 常用配置 笔记44
java·spring boot·笔记
没有bug.的程序员2 小时前
金融支付分布式架构实战:从理论到生产级实现
java·分布式·微服务·金融·架构·分布式调度系统
在未来等你3 小时前
Elasticsearch面试精讲 Day 25:Elasticsearch SQL与数据分析
大数据·分布式·elasticsearch·搜索引擎·面试
rechol3 小时前
汇编与底层编程笔记
汇编·arm开发·笔记
lzj_pxxw4 小时前
嵌入式开发技巧:舍弃标志位,用宏定义函数实现程序单次运行
笔记·stm32·单片机·嵌入式硬件·学习
润 下4 小时前
C语言——回调函数的典型示例(分析详解)
c语言·开发语言·人工智能·经验分享·笔记·程序人生
朝新_4 小时前
【EE初阶 - 网络原理】传输层协议
java·开发语言·网络·笔记·javaee