springboot整合rabbitmq实现延时队列之rabbitmq_delayed_message_exchange插件方式

上篇讲的是springboot整合rabbitmq实现延时队列之TTL方式实现rabbitmq的延时队列功能,在消息死亡时间比较灵活复杂的时候我们不可能声明很多死信队列去管理,而且声明一个就要6个bean,很蛋疼,所以希望能够有种方式使其消息死亡异步化,到期即死即消费,不会被阻塞,这里介绍使用插件的方式,不过需要rabbitmq要是3.6版本以上,也就是说,加入你的rabbitmq版本太老只能用TTL。
基于插件方式实现流程:
这里和TTL方式有个很大的不同就是TTL存放消息在死信队列(delayqueue)里,二基于插件存放消息在延时交换机里(x-delayed-message exchange)。
在这里插入图片描述
①:生产者将消息(msg)和路由键(routekey)发送指定的延时交换机(exchange)上
②:延时交换机(exchange)存储消息等待消息到期根据路由键(routekey)找到绑定自己的队列(queue)并把消息给它
③:队列(queue)再把消息发送给监听它的消费者(customer)
先去官网下载插件
在这里插入图片描述
下载的插件放到rabbitmq的plugins里,执行命令安装插件

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

流程介绍完了,看下具体代码吧!

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值