Queue管理
本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
Queue是指消息队列,云消息队列 RabbitMQ 版的消息都会被投入到一个或多个Queue中。本文介绍如何在云消息队列 RabbitMQ 版控制台创建消息的存储资源Queue、查看Dashboard大盘、被Exchange绑定、向指定Queue发送消息、查看Consumer Tag、清空Queue和删除Queue。
背景信息
Consumer Tag是Consumer客户端的标识符。您可以在云消息队列 RabbitMQ 版的Consumer客户端设置Consumer Tag。如果您没有在云消息队列 RabbitMQ 版的Consumer客户端设置Consumer Tag,云消息队列 RabbitMQ 版服务端会为您自动生成一个唯一的Consumer Tag。建议使用系统默认Consumer Tag,不自定义设置Consumer Tag。
Consumer Tag必须保持唯一,即已被某个Consumer使用的Consumer Tag不可同时被另一个Consumer使用。
客户端使用的SDK在记录连接上有哪些消费者时,采用Map<String, Consumer>进行记录,其中Key为Consumer Tag。如果一个连接上存在多个消费者具有相同的Consumer Tag,在连接自动重连后,该连接下的相同Consumer Tag仅会有一个消费者恢复消费,其他消费者将不会自动恢复。
创建Queue
登录云消息队列 RabbitMQ 版控制台,然后在左侧导航栏选择实例列表。
在实例列表页面的顶部菜单栏选择地域,然后在实例列表中,单击目标实例名称。
在左侧导航栏,单击Queue 列表。
在Queue 列表页面,在当前 Vhost右侧的切换下拉列表中,选择Vhost,单击创建 Queue。
在创建 Queue面板,在Queue 名称文本框输入Queue的名称,选择是否为Auto Delete类型,单击高级选项,设置Queue的参数,然后单击确定。
参数
描述
说明
Queue 名称
Queue的名称
只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。
长度限制在1~255字符。
创建后无法修改,只能删除重建。
以amq.开头的为保留字段,因此不能使用。例如:amq.test。
Auto Delete
最后一个Consumer取消订阅后,Queue是否自动删除。
true:在订阅该Queue消息的最后一个Consumer取消订阅该Queue的消息后,自动删除该Queue。
false:在订阅该Queue消息的最后一个Consumer取消订阅该Queue的消息后,不自动删除该Queue。
高级选项
Queue的参数设置,可用于设置死信Exchange、死信Routing Key和消息存活时间。
DeadLetterExchange:指定死信消息发送的目标Exchange。
DeadLetterRoutingKey:指定死信消息的Routing Key,即死信Exchange会将消息发送至匹配该死信Routing Key所对应的Queue。
MessageTTL:消息存活时间,单位毫秒(ms)。在指定时间内未被成功消费的消息会变成死信消息,该消息将会被发送到死信Exchange。更多信息,请参见消息存活时间。
查看统计数据
您可以查看各种指标数据,帮助您及时发现和定位问题。
查看Consumer Tag
云消息队列 RabbitMQ 版仅支持查看在线Consumer客户端的Consumer Tag,不支持查看离线Consumer客户端的Consumer Tag,您需要确保要查看Consumer Tag的Consumer客户端处于在线状态。
在Queue 列表页面,选择指定Queue,在其操作列,选择 。
被Exchange绑定
在Queue 列表页面,选择指定Queue,在其操作列单击详情。
在Queue 详情页面单击被绑定信息页签,单击添加被绑定。
在添加被绑定面板,选择源Exchange,在Routing Key文本框输入Routing Key,然后单击确定。
说明若被绑定的Exchange的类型为x-consistent-hash时,Routing Key表示绑定的Queue的权重,只能设置为整数,取值范围为[1~20]。
发送消息
Queue添加被绑定关系后,可直接在控制台发送消息,将消息从源Exchange发送到指定的Queue中。
在Queue 列表页面,选择指定Queue,在其操作列单击详情。
在Queue 详情页面,选择被绑定信息页签。
在被绑定关系列表中,选择指定的绑定关系,在其操作列单击发送消息。
在弹出的发送消息面板中输入messageId和messageBody,然后单击确定。
清空Queue
在Queue 列表页面,选择指定Queue,在其操作列,选择 。
删除Queue
删除Queue时,Queue中未被消费的消息会被同时删除,且不可恢复。请您谨慎操作。
在Queue 列表页面,根据需要选择如下任意一种方式删除Queue。
删除单个Queue:找到要删除的Queue,在其右侧操作列,选择
。您也可以单击目标Queue,或在其右侧操作列,单击详情,在Queue 详情页面右上角单击删除。
删除多个Queue:选中要删除的Queue,单击Queue列表下方的批量删除。
在提示对话框,认真阅读提示信息,单击确认。