比如先发送了一个20秒的 然后紧接着发送了一个2秒的 然后 消费者会在20秒后才会收到2秒的信息 因为2秒的信息的前面有个20秒的信息 2秒的信息要等20秒的信息被消费后它才会被消费 这是队列的机制 先进先出
所以要使用Rabbitmq插件来实现精准的发送
插件必须和rabbitmq的版本一一对应
使用延时插件就可以让rabbitmq的延时消息精准发送 就先发一个20秒再发一个2秒 2秒的就会被先消费
效果:
1:将插件拷贝到docker的mq容器内部:docker cp rabbitmq_delayed_message_exchange-3.8.0.ez 3440c1a8c02a:/plugins (3440c1a8c02a是mq容器的id)
2:将 rabbitmq_delayed_message_exchange-3.8.0.ez拷贝到docker容器的rabbitmq容器的plugins里面
3:使用docker exec -it rabbitmq3.7.7 /bin/bash进入到rabbitmq3.7.7容器的目录
4:然后cd plugins进入到plugins目录里面 plugins里面就有rabbitmq的所有插件
5:就能看到rabbitmq_delayed_message_exchange-3.8.0.ez 延时插件了
6:然后输入rabbitmq-plugins enable rabbitmq_delayed_message_exchange启动延时插件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/106003.html