消息队列 RabbitMQ 版 创建 Queue

队列(Queue)用于存储消息,每个消息都会被投入到一个或多个 Queue 里,Producer 生产消息并最终投递到 Queue 中,Consumer 可以从 Queue 中拉取消息进行消费。

相关产品
消息队列 RabbitMQ 版 产品页,含版本规格、价格与购买入口。

多个 Consumer 可以订阅同一个 Queue,这时 Queue 中的消息会被平均分摊给多个 Consumer 进行处理,而不是每个 Consumer 都收到所有的消息并处理。

TDMQ RabbitMQ 版支持在控制台上创建普通队列或 Quorum 队列,这里说明创建普通队列的操作步骤,创建 Quorum 队列的操作步骤请参考配置仲裁队列。

·普通队列(Classic Queue):采用轻量级索引与共享存储架构,在单机性能与存储效率间取得平衡,适用于高吞吐非强一致性场景。

·仲裁队列(Quorum Queue):基于 Raft 协议实现多副本强一致性,保障关键业务数据不丢失,适用于金融交易、订单管理等关键业务。

一、约束与限制

限制类型 开源托管版 Serverless 版
数量 一个 Vhost 下最多支持创建 1000个 Queue。 一个 Vhost 下最多支持创建 100个 Queue。
默认 Queue Vhost 创建后会创建一个名为 tdmq_event_handle 的默认 Queue,用于事件查询功能,不支持编辑或者被删除,也不支持新增绑定关系,默认与名为 amq.rabbitmq.event 的默认 Exchange 绑定。 无默认 Queue。
控制台支持创建的队列类型 支持创建普通队列或 Quorum 队列。 仅支持创建普通队列。

二、前提条件

已创建好对应的 Vhost,具体操作步骤请参考 创建 Vhost。

三、操作步骤

开源托管版Serverless 版

1. 登录 TDMQ RabbitMQ 版控制台。

2. 在左侧导航栏选择集群管理 > Queue,选择 Vhost 后,单击新建进入创建 Queue 页面。

3. 根据页面提示完成 Queue 信息设置后,单击提交,完成 Queue 创建。

分类 参数 是否必选 说明
基本信息 当前 Vhost 是 表示正在给哪个 Vhost 创建 Queue。
 Queue 名称 是 填写 Queue 名称,需符合命名规则:1-64个字符,只能包含字母、数字、“-”及“_”。Queue 创建成功后,不支持修改名称。
 类型 是 选择普通队列。
 Durable 否 设置 Queue 是否执行持久化,默认开启。如果设置为 true,该 Queue 在服务重启后仍然存在。如果设置为 false,该 Queue 在服务重启后会被删除,需要重建。
 节点 是 在下拉框中选择 Queue 所在的集群节点。
 AutoDelete 否 是否开启自动删除 Queue,默认关闭。如果设置为 true,当订阅该 Queue 消息的最后一个消费者取消订阅后,该 Queue 将被自动删除。如果设置为 false,当订阅该 Queue 消息的最后一个消费者取消订阅后,不会删除该 Queue。
 Queue 说明 否 填写 Queue 的说明信息,最多128个字符。
常用参数 Message TTL 否 消息在 Queue 中的存活时间,单位为 ms。若超过 TTL 后,消息还未被成功消费,则:如果指定了死信 Exchange,消息会被发送到死信 Exchange。如果没有指定死信 Exchange,消息就会被丢弃。
 Auto Expire 否 Queue 的空闲存活时间,当 Queue 在指定时间内没有消费者连接、没有消息被消费或发布,会被自动删除。
 Max Length 否 Queue 可以容纳的消息数量上限,超过设定值后将触发 Overflow behaviour 溢出策略。
 Max Length Bytes 否 Queue 的存储容量上限,超过设定值后将触发 Overflow behaviour 溢出策略。
 Overflow Behaviour 否 当 Queue 容量达到上限时,队列的消息处理策略:drop-head:当队列达到容量上限时,丢弃队列头部的消息。reject-publish:当队列达到容量上限时,拒绝新消息的发布,并将发布操作标记为失败。reject-publish-dlx:当队列达到容量上限时,拒绝新消息的发布,并将消息发送到死信交换机(Dead Letter Exchange,DLX),若未配置死信 Exchange,将自动指定名为 AMQP default exchange 的默认 Exchange。
 死信 Exchange 是 消息超过 TTL 时间没有被成功消费,将被投递到死信 Exchange,默认指定名为 AMQP default exchange 的默认 Exchange。
其他高级选项 Single Active Consumer 否 是否开启单一活跃消费者,默认关闭。若设置为 true,Queue 同一时间只允许一个消费者消费消息,其他消费者会处于待命状态,当活跃消费者断开后,会自动选择下一个消费者。适用于顺序敏感型任务,如订单状态变更等场景。
 Maximum Priority 否 配置该队列中的消息的最大优先级,可选范围:[0,255],值越大,排序开销越高。配置该参数后将启用优先级功能,生产者发送消息时通过 priority 属性指定优先级(0到 Maximum Priority 之间)。高优先级消息会优先被消费,未设置优先级的消息默认为 0。适用于 VIP 客户订单优先处理、紧急任务插队等场景。
 Lazy Mode 否 是否开启惰性模式,默认关闭。若设置为 true,队列会优先将推送过来的消息保存在磁盘上以减少内存占用,消费时才加载到内存。适用于消息积压严重的队列,如死信队列。若设置为 false,消息默认存储在内存中。
 Master Locator 否 当配置了镜像队列时,master 所在节点的分配方式。min-masters(默认):当配置了镜像队列时,选择托管队列 master 数量最少的节点,作为当前队列的 master 所在的节点。生产环境建议保持默认 min-masters 以实现负载均衡。client-local:当配置了镜像队列时,选择声明队列的客户端所连接到的节点,作为当前队列的 master 所在的节点。random:当配置了镜像队列时,选择一个随机节点作为当前队列的 master 所在的节点。

1. 登录 TDMQ RabbitMQ 版控制台。

2. 在左侧导航栏选择集群管理 > Queue,选择 Vhost 后,单击新建进入创建 Queue 页面。

3. 填写 Queue 基本信息后,单击提交,完成 Queue 创建。

参数 是否必选 说明
当前 Vhost 是 表示正在给哪个 Vhost 创建 Queue。
Queue 名称 是 填写 Queue 名称,需符合命名规则:1-64个字符,只能包含字母、数字、“-”及“_”。Queue 创建成功后,不支持修改名称。
类型 是 仅支持普通队列。
Message TTL 否 消息在 Queue 中的存活时间,单位为 ms。若超过 TTL 后,消息还未被成功消费,则:如果指定了死信 Exchange,消息会被发送到死信 Exchange。如果没有指定死信 Exchange,消息就会被丢弃。
死信 Exchange 否 消息超过 TTL 时间没有被成功消费,将被投递到死信 Exchange。
Queue 说明 否 填写 Queue 说明信息,最多 128 个字符。
赞 (0)
上一篇 4天前
下一篇 4天前