RabbitMQ自学笔记——延迟消息

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

1.死信交换机

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

发送方:

接收方:

2.延迟消息插件

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

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

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

相关推荐
QT 小鲜肉1 分钟前
【Linux命令大全】001.文件管理之split命令(实操篇)
linux·运维·服务器·网络·笔记
chinesegf2 分钟前
如何在沙盒环境中进行内购测试
笔记·ios
西敏寺的乐章3 分钟前
ZooKeeper 系统学习总结
分布式·学习·zookeeper
d111111111d3 分钟前
STM32定时器中断配置详解:以TIM2为例
笔记·stm32·单片机·嵌入式硬件·学习
QT 小鲜肉5 分钟前
【Linux命令大全】001.文件管理之rcp命令(实操篇)
linux·服务器·网络·chrome·笔记
老王熬夜敲代码7 分钟前
模版元编程variant
c++·笔记
代码游侠9 分钟前
学习笔记——SQLite3 编程与 HTML 基础
网络·笔记·算法·sqlite·html
better_liang10 分钟前
每日Java面试场景题知识点之-RabbitMQ消息重复消费问题
java·分布式·消息队列·rabbitmq·幂等性
im_AMBER12 分钟前
Leetcode 91 子序列首尾元素的最大乘积
数据结构·笔记·学习·算法·leetcode