基于消息过期时间搭建的延迟队列存在重大缺陷,如下图:
这个缺陷只能使用官方提供的插件解决
docker ps (查看容器,确认安装rabbitmq)
docker image inspect (docker image名称):(版本号)|grep -i version
社区链接:Community Plugins — RabbitMQ
使用远程连接工具操作Linux,随便创建文件夹plugins,并将刚才下载好的插件拖拽上传
#切记不要进到容器执行,会报错command not found 没有特别说明,容器id全是指rabbitmq
docker cp /上传路径/rabbitmq_delayed_message_exchange-(版本号).ez (rabbitmq容器id):/plugins
#查看是否拷贝成功
docker exec -it 容器id /bin/bash/
ls
cd plugins
ls
#容器内plugins目录下,执行启用插件,然年退出容器并重启rabbitmq
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
exit
docker restart 容器id