RabbitMQ 通过HTTP API删除队列命令


1. 第一条命令:删除指定队列

cmd 复制代码
curl -X DELETE -u admin:rmq@1234 
"http://10.11.64.12:15672/api/queues/%2F/ai-tpp-pm-749a510b-aa20-47a1-bac5-7f44f7edb1ab"
作用

删除虚拟主机 /(编码为 %2F)下名为 ai-tpp-pm-749a510b-aa20-47a1-bac5-7f44f7edb1ab 的队列。

参数解析
参数 说明
-X DELETE 使用 HTTP DELETE 方法
-u admin:rmq@1234 基本认证(用户名:密码)
%2F URL 编码的默认虚拟主机 /
队列名 完整队列名称,需精确匹配
适用场景
  • 明确知道队列名称,需立即删除单个队列。

2. 第二条命令:创建自动删除策略

cmd 复制代码
curl -X PUT -u admin:rmq@1234^
  -H "Content-Type: application/json" ^
  -d "{\"pattern\":\"^ai-tpp-pm.*\", \"definition\":{\"expires\":10000}, \"apply-to\":\"queues\"}" ^
  "http://10.11.64.12:15672/api/policies/%2F/auto-delete-queues"
作用

创建一个名为 auto-delete-queues 的策略,规则如下:

  • 匹配队列 :名称以 ai-tp-pm 开头的所有队列(正则表达式 ^ai-tpp-pm.*)。
  • 行为 :队列空闲 10 秒(expires:10000 毫秒)后自动删除。
  • 生效范围 :仅作用于队列(apply-to:queues)。
参数解析
参数 说明
-X PUT 使用 HTTP PUT 方法
-H "Content-Type: application/json" 声明请求体为 JSON 格式
-d "{\"pattern\":...}" JSON 请求体(需转义双引号)
"http://.../policies/%2F/auto-delete-queues" 策略保存路径(%2F 是虚拟主机 /
JSON 关键字段
字段 说明
pattern ^ai-tpp-pm.* 正则匹配队列名前缀
definition.expires 10000 队列空闲 10 秒后删除
apply-to queues 策略仅应用于队列
适用场景
  • 需批量清理符合特定命名规则的临时队列。
  • 避免队列残留(如测试环境或动态生成的队列)。

3. 主要区别

删除单条队列 创建自动删除策略
HTTP 方法 DELETE PUT
目标 直接操作队列 定义策略规则
影响范围 单个队列 所有匹配队列
执行时机 立即生效 满足条件时触发(如空闲超时)

4. 常见问题

Q1:为什么策略中的 . 需要转义为 \.
  • RabbitMQ 策略使用 正则表达式 匹配队列名,. 在正则中表示"任意字符",需转义为 \. 才能匹配实际的点号。
Q2:expires:10000 的单位是什么?
  • 单位是 毫秒(10 秒 = 10000 毫秒)。
Q3:如何验证策略是否生效?
cmd 复制代码
curl -u admin:rmq@1234 "http://10.11.64.12:15672/api/policies/%2F"

或登录 RabbitMQ 管理界面查看 Policies 标签页。


5. 注意事项

  1. 权限要求 :用户需具备 administrator 标签或至少 policymaker 权限。
  2. 生产环境慎用:自动删除策略可能导致重要队列被误删,建议先在测试环境验证。
  3. 队列锁定:如果队列正在使用(有消费者连接),可能不会立即删除。

根据需求选择直接删除或自动化策略!

相关推荐
一只游鱼1 小时前
利用keytool实现https协议(生成自签名证书)
网络协议·http·https·keytool
PXM的算法星球2 小时前
ZooKeeper vs Redis:分布式锁的实现与选型指南
redis·分布式·zookeeper
码熔burning3 小时前
RPC 和 HTTP 的区别
网络协议·http·rpc
寒士obj4 小时前
Redisson分布式锁:看门狗机制与续期原理
redis·分布式
Micrle_0074 小时前
java分布式场景怎么实现一个高效的 读-写锁
java·分布式
楠枬4 小时前
Curator 如何实现分布式锁
分布式·zookeeper
Badman4 小时前
分布式系统下的数据一致性-Redis分布式锁
redis·分布式·后端
吐个泡泡v5 小时前
网络编程基础:一文搞懂 Socket、HTTP、HTTPS、TCP/IP、SSL 的关系
网络·网络协议·http·https·socket·ssl·tcp
liulilittle6 小时前
HTTP简易客户端实现
开发语言·网络·c++·网络协议·http·编程语言
武子康7 小时前
Java-118 深入浅出 MySQL ShardingSphere 分片剖析:SQL 支持范围、限制与优化实践
java·大数据·数据库·分布式·sql·mysql·性能优化