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使用的Consumer Tag不可同时被另一个Consumer使用。
Consumer Tag在同一个channel内有效,即已在某个channel内被创建的Consumer Tag不可在另一个channel内被使用。
创建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列表下方的批量删除。
在提示对话框,认真阅读提示信息,单击确认。