删除RabbitMQ Queue
本章节指导如何删除Queue。删除Queue后,该Queue下的所有配置(包括Exchange与Queue的绑定关系)也会被删除,且无法恢复。
删除Queue的操作有以下几种方式,您可以根据实际情况选择任意一种方式:
RabbitMQ 3.x.x版本支持以上三种删除Queue的方式,RabbitMQ AMQP-0-9-1版本只支持在控制台删除Queue。
前提条件
已创建Queue。
删除Queue(控制台)
- 登录管理控制台。
- 在管理控制台左上角单击,选择区域。
此处请选择RabbitMQ实例所在的区域。
- 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务RabbitMQ版”,进入分布式消息服务RabbitMQ专享版页面。
- 单击实例名称,进入实例详情页面。
- 在左侧导航栏选择“Vhost列表”,进入Vhost列表页面。
- 单击Vhost名称,进入Vhost详情页。
- 在“Queue”页签中,通过以下任意一种方法,删除Queue。
- 勾选Queue名称左侧的方框,可选一个或多个,单击信息栏左上侧的“删除Queue”。
- 在待删除的Queue所在行,单击“删除”。
- 单击“确定”,完成Queue的删除。
删除单个Queue(RabbitMQ WebUI)
- 登录RabbitMQ WebUI页面。
- 在“Queues”页签,单击需要删除的队列名称,进入队列详情页面。
图1 队列列表
- 单击“Delete Queue”,删除单个队列。
图2 删除单个队列
批量删除Queue(RabbitMQ WebUI)
新增与待删除队列的前缀名称相同、且队列TTL为1ms的策略,通过此策略实现批量删除队列。
- 登录RabbitMQ WebUI页面。
- 在“Admin > Policies”页面中,新增一条策略。
图3 通过Policy批量删除队列
表1 策略参数说明 参数
说明
Name
策略的名称,用户自定义。
Pattern
队列匹配模式,填写队列名称,会匹配包含此队列名称的队列。
例如:设置为“.*”时,表示匹配所有队列。设置为“.*queue-name”时,表示匹配队列名称包含queue-name的所有队列。
Apply to
策略所适用的目标,选择“Queues”。
Priority
策略的优先级,数字越大,优先级越高。
Definition
定义TTL,单位为ms。填写“expires”参数,值设置为“1”,表示队列过期时间为1ms。
- 单击“Add policy”。
在“Queues”页签,查看队列是否成功删除。
- 队列成功删除后,在“Admin > Policies”页面中,在2中新增的策略后,单击“Clear”,删除策略。
如果保留此策略,它对后续新建的队列依然生效,可能会出现误删除队列的情况。图4 删除策略