RabbitMQ实现延迟消息的方式有两种,一种是使用死信队列实现,另一种是使用延迟插件实现。死信队列实现我们以前曾经讲过这次我们讲个更简单的,使用延迟插件实现。
插件安装
首先我们需要下载并安装RabbitMQ的延迟插件。
-
去RabbitMQ的官网下载插件,插件地址:https://www.rabbitmq.com/community-plugins.html
-
直接搜索rabbitmq_delayed_message_exchange即可找到我们需要下载的插件,下载和RabbitMQ配套的版本,不要弄错;
编辑
添加图片注释,不超过 140 字(可选)
-
将插件文件复制到RabbitMQ安装目录的plugins目录下;
编辑切换为居中
添加图片注释,不超过 140 字(可选)
-
进入RabbitMQ安装目录的sbin目录下,使用如下命令启用延迟插件;
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
-
启用插件成功后就可以看到如下信息,之后重新启动RabbitMQ服务即可。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
实现延迟消息
接下来我们需要在SpringBoot中实现延迟消息功能,这次依然沿用商品下单的场景。比如说有个用户下单了,他60分钟不支付订单