RabbitMQ(005 延迟队列)

动力节点RabbitMQ教程|12小时学会rabbitmq消息中间件

总时长 12:20:00 共65P

此文章包含第31p-第p37的内容


延迟队列

实现
定时任务方式(不推荐)

RabbitMQ(005 延迟队列)_第1张图片

RabbitMQ(005 延迟队列)_第2张图片

被动取消 只有查询的时候才会进行修改状态(不推荐)

RabbitMQ(005 延迟队列)_第3张图片
RabbitMQ(005 延迟队列)_第4张图片

jdk延迟队列(不推荐)

容易内存溢出
RabbitMQ(005 延迟队列)_第5张图片

RabbitMQ(005 延迟队列)_第6张图片

中间件(推荐)

RabbitMQ(005 延迟队列)_第7张图片

RabbitMQ(005 延迟队列)_第8张图片

实现代码

设置配置

RabbitMQ(005 延迟队列)_第9张图片

设置普通队列

RabbitMQ(005 延迟队列)_第10张图片

绑定普通队列

RabbitMQ(005 延迟队列)_第11张图片

设置死信队列 并且 绑定死信队列

RabbitMQ(005 延迟队列)_第12张图片

绑定死信交换机 这里修改了之前的普通队列

RabbitMQ(005 延迟队列)_第13张图片

发送消息

RabbitMQ(005 延迟队列)_第14张图片

面板参数

D 持久化
TTL 过期时间
DLX 死信交换机 
DLK 死信路由key

RabbitMQ(005 延迟队列)_第15张图片

问题 过期时间不一致的情况

删除队列的过期时间 .ttl(25000) 去掉
RabbitMQ(005 延迟队列)_第16张图片
RabbitMQ(005 延迟队列)_第17张图片

代码块 加括号 可以分离信息 可以实现 重复命名

RabbitMQ(005 延迟队列)_第18张图片

接收死信队列的消息
RabbitMQ(005 延迟队列)_第19张图片

发送时间
RabbitMQ(005 延迟队列)_第20张图片
接收时间 也是一样 因为前面那个队列数给挡住了
RabbitMQ(005 延迟队列)_第21张图片

放在不同的队列里
RabbitMQ(005 延迟队列)_第22张图片

RabbitMQ(005 延迟队列)_第23张图片

使用插件

RabbitMQ(005 延迟队列)_第24张图片

下载到plu 文件夹中

先下载wget工具
RabbitMQ(005 延迟队列)_第25张图片
用wget 下载地址
进行下载
RabbitMQ(005 延迟队列)_第26张图片

或者 直接下载到本机 然后复制到文件夹里

用unzip解压
RabbitMQ(005 延迟队列)_第27张图片

RabbitMQ(005 延迟队列)_第28张图片

RabbitMQ(005 延迟队列)_第29张图片
解压完 可以把.ez文件删除


启动插件
RabbitMQ(005 延迟队列)_第30张图片

RabbitMQ(005 延迟队列)_第31张图片

查看

RabbitMQ(005 延迟队列)_第32张图片
RabbitMQ(005 延迟队列)_第33张图片

启用完 多了一种交换机类型
RabbitMQ(005 延迟队列)_第34张图片
RabbitMQ(005 延迟队列)_第35张图片
只需要一个交换机 一个队列
RabbitMQ(005 延迟队列)_第36张图片

需要使用自定义交换机
只有四种 直连 扇形 头部 主题

RabbitMQ(005 延迟队列)_第37张图片

自定义交换机 5个参数

交换机名称
交换机类型
持久化
自动删除
map参数

RabbitMQ(005 延迟队列)_第38张图片

创建队列

旧代码
RabbitMQ(005 延迟队列)_第39张图片
新代码
RabbitMQ(005 延迟队列)_第40张图片
RabbitMQ(005 延迟队列)_第41张图片

延迟时间设置到头部
RabbitMQ(005 延迟队列)_第42张图片

RabbitMQ(005 延迟队列)_第43张图片

D 持久化
DM 消息延迟为0
Args 参数
RabbitMQ(005 延迟队列)_第44张图片

RabbitMQ(005 延迟队列)_第45张图片

发消息时 是发送到交换机 然后写路由key 从而找到队列
接消息时是接收的队列名称 如   @RabbitListener(queues = "#{MyBean.queueName}") myBean 是一个类 quererName是它的一个属性
切记使用延迟队列时 接收的队列必须是死信队列 因为接收普通队列的话直接就接收了 就没有死信队列的事情了

rz xshell打开上传下载界面


使用yum安装 yum install xxx -y
RabbitMQ(005 延迟队列)_第46张图片


你可能感兴趣的:(rabbitMQ,rabbitmq,分布式)