更新时间:2024-10-25 GMT+08:00

删除RabbitMQ Queue

本章节指导如何删除Queue。删除Queue后,该Queue下的所有配置(包括Exchange与Queue的绑定关系)也会被删除,且无法恢复。

删除Queue的操作有以下几种方式,您可以根据实际情况选择任意一种方式:

RabbitMQ 3.x.x版本支持以上三种删除Queue的方式,RabbitMQ AMQP-0-9-1版本只支持在控制台删除Queue。

前提条件

创建Queue

删除Queue(控制台)

  1. 登录管理控制台。
  2. 在管理控制台左上角单击,选择区域。

    此处请选择RabbitMQ实例所在的区域。

  3. 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务RabbitMQ版”,进入分布式消息服务RabbitMQ专享版页面。
  4. 单击实例名称,进入实例详情页面。
  5. 在左侧导航栏选择“Vhost列表”,进入Vhost列表页面。
  6. 单击Vhost名称,进入Vhost详情页。
  7. 在“Queue”页签中,通过以下任意一种方法,删除Queue。

    • 勾选Queue名称左侧的方框,可选一个或多个,单击信息栏左上侧的“删除Queue”。
    • 在待删除的Queue所在行,单击“删除”。

  8. 单击“确定”,完成Queue的删除。

删除单个Queue(RabbitMQ WebUI)

  1. 登录RabbitMQ WebUI页面
  2. 在“Queues”页签,单击需要删除的队列名称,进入队列详情页面。

    图1 队列列表

  3. 单击“Delete Queue”,删除单个队列。

    图2 删除单个队列

批量删除Queue(RabbitMQ WebUI)

新增与待删除队列的前缀名称相同、且队列TTL为1毫秒的策略,通过此策略实现批量删除队列。

  1. 登录RabbitMQ WebUI页面
  2. 在“Admin > Policies”页面中,新增一条策略。

    图3 通过Policy批量删除队列
    表1 策略参数说明

    参数

    说明

    Name

    策略的名称,用户自定义。

    Pattern

    队列匹配模式,填写队列名称,会匹配包含此队列名称的队列。

    例如:设置为“.*”时,表示匹配所有队列。设置为“.*queue-name”时,表示匹配队列名称包含queue-name的所有队列。

    Apply to

    策略所适用的目标,选择“Queues”。

    Priority

    策略的优先级,数字越大,优先级越高。

    Definition

    定义TTL,单位为毫秒。填写“expires”参数,值设置为“1”,表示队列过期时间为1毫秒。

  3. 单击“Add policy”。

    在“Queues”页签,查看队列是否成功删除。

  4. 队列成功删除后,在“Admin > Policies”页面中,在2中新增的策略后,单击“Clear”,删除策略。

    如果保留此策略,它对后续新建的队列依然生效,可能会出现误删除队列的情况。
    图4 删除策略