本篇文章介绍单节点启动的 rabbitmq 如何安装启用延迟队列插件。
下载延迟队列插件
项目地址:https://github.com/rabbitmq/rabbitmq-delayed-message-exchange
下载地址:https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/3.9.0/rabbitmq_delayed_message_exchange-3.9.0.ez
注意下载时要选择和rabbitmq兼容的插件版本。
查看rabbitmq 插件安装目录
root@f2bcf9b78273:/root# rabbitmq-plugins directories -s
Plugin archives directory: /opt/rabbitmq/plugins
Plugin expansion directory: /var/lib/rabbitmq/mnesia/rabbit@f2bcf9b78273-plugins-expand
Enabled plugins file: /etc/rabbitmq/enabled_plugins
root@f2bcf9b78273:/root#
Plugin archives directory:为插件的归档目录(未解压的ez文件),要安装新的插件的时候,需要将插件的归档文件放置在这个目录中。
Plugin expansion directory:为已经解压的插件文件目录,当插件归档文件被解压后,它们的文件会被放置在这个目录中。这些解压后的文件是系统实际运行所需的,包括插件的代码、库文件等。
Enabled plugins file:这个文件包含了当前启用的插件列表。
查看所有 rabbitmq 插件
root@f2bcf9b78273:/root# rabbitmq-plugins list
Listing plugins with pattern ".*" ...
Configured: E = explicitly enabled; e = implicitly enabled
| Status: * = running on rabbit@f2bcf9b78273
|/
[ ] rabbitmq_amqp1_0 3.9.5
[ ] rabbitmq_auth_backend_cache 3.9.5
[ ] rabbitmq_auth_backend_http 3.9.5
[ ] rabbitmq_auth_backend_ldap 3.9.5
[ ] rabbitmq_auth_backend_oauth2 3.9.5
[ ] rabbitmq_auth_mechanism_ssl 3.9.5
[ ] rabbitmq_consistent_hash_exchange 3.9.5
[ ] rabbitmq_event_exchange 3.9.5
[ ] rabbitmq_federation 3.9.5
[ ] rabbitmq_federation_management 3.9.5
[ ] rabbitmq_jms_topic_exchange 3.9.5
[E*] rabbitmq_management 3.9.5
[e*] rabbitmq_management_agent 3.9.5
[ ] rabbitmq_mqtt 3.9.5
[ ] rabbitmq_peer_discovery_aws 3.9.5
[ ] rabbitmq_peer_discovery_common 3.9.5
[ ] rabbitmq_peer_discovery_consul 3.9.5
[ ] rabbitmq_peer_discovery_etcd 3.9.5
[ ] rabbitmq_peer_discovery_k8s 3.9.5
[E*] rabbitmq_prometheus 3.9.5
[ ] rabbitmq_random_exchange 3.9.5
[ ] rabbitmq_recent_history_exchange 3.9.5
[ ] rabbitmq_sharding 3.9.5
[ ] rabbitmq_shovel 3.9.5
[ ] rabbitmq_shovel_management 3.9.5
[ ] rabbitmq_stomp 3.9.5
[ ] rabbitmq_stream 3.9.5
[ ] rabbitmq_stream_management 3.9.5
[ ] rabbitmq_top 3.9.5
[ ] rabbitmq_tracing 3.9.5
[ ] rabbitmq_trust_store 3.9.5
[e*] rabbitmq_web_dispatch 3.9.5
[ ] rabbitmq_web_mqtt 3.9.5
[ ] rabbitmq_web_mqtt_examples 3.9.5
[ ] rabbitmq_web_stomp 3.9.5
[ ] rabbitmq_web_stomp_examples 3.9.5
root@f2bcf9b78273:/root#
过滤延迟队列插件,可以看到目前是没有的。
root@f2bcf9b78273:/root# rabbitmq-plugins list |grep delayed
root@f2bcf9b78273:/root#
将延迟队列插件ez文件复制到插件归档目录中
root@f2bcf9b78273:/root# cp rabbitmq_delayed_message_exchange-3.9.0.ez /opt/rabbitmq/plugins/
再次查看插件列表,可以看到已经有了
root@f2bcf9b78273:~# rabbitmq-plugins list |grep delay
[ ] rabbitmq_delayed_message_exchange 3.9.0
root@f2bcf9b78273:~#
启用延迟队列插件
root@f2bcf9b78273:/root# rabbitmq-plugins enable rabbitmq_delayed_message_exchange
Enabling plugins on node rabbit@f2bcf9b78273:
rabbitmq_delayed_message_exchange
The following plugins have been configured:
rabbitmq_delayed_message_exchange
rabbitmq_management
rabbitmq_management_agent
rabbitmq_prometheus
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@f2bcf9b78273...
The following plugins have been enabled:
rabbitmq_delayed_message_exchange
started 1 plugins.
root@f2bcf9b78273:/root#
root@f2bcf9b78273:/root# rabbitmq-plugins list |grep delaye
[E*] rabbitmq_delayed_message_exchange 3.9.0
root@f2bcf9b78273:/root#
确认插件生效
创建新的 exchange 时,可以发现多了个名为 x-delayed-message 的类型。
本文采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。
如果您的问题未解决,欢迎微信扫描右侧二维码与我联系。