You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询RabbitMQ使用的分布式协议?能否通过CLI工具获取该信息?

查询RabbitMQ队列的分布式类型(镜像/仲裁)

可以通过RabbitMQ的CLI工具(rabbitmqctl)直接获取队列的分布式类型信息,以下是具体方法:

1. 查看队列的基础类型

使用rabbitmqctl list_queues命令指定type字段,可区分队列是经典队列(classic)还是仲裁队列(quorum):

# 查看指定虚拟主机下所有队列的名称和类型
rabbitmqctl list_queues name type --vhost /
  • 输出中type为quorum的就是仲裁队列
  • type为classic的则是经典队列,这类队列可能是普通单节点队列,也可能是开启了镜像模式的镜像队列,需要进一步验证

2. 判断经典队列是否为镜像队列

对于类型为classic的队列,通过查看队列的arguments属性,确认是否包含镜像相关配置:

# 查看队列的名称、类型及参数
rabbitmqctl list_queues name type arguments --vhost /

在输出的arguments字段中,若存在"x-ha-policy"键,且值为"all"、"nodes"或"exactly",则说明该经典队列是镜像队列。

也可以通过查看集群的镜像策略来确认:

# 查看所有镜像策略
rabbitmqctl list_policies --vhost /

若策略的definition中包含"ha-mode"配置,且该策略匹配目标队列,则对应队列会被设置为镜像队列。

3. 快速筛选目标队列

如果只想查看仲裁队列或镜像队列,可以结合shell命令过滤输出:

# 筛选所有仲裁队列
rabbitmqctl list_queues name type --vhost / | grep quorum

# 筛选包含镜像配置的经典队列
rabbitmqctl list_queues name arguments --vhost / | grep '"x-ha-policy"'

内容的提问来源于stack exchange,提问作者孙海城

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 09:51:55