消息队列 RabbitMQ 版 配置仲裁队列

仲裁队列(Quorum Queue)是 RabbitMQ 3.8+ 引入的一种高可用队列类型,基于 Raft 共识算法实现多节点数据复制,确保消息的强一致性和持久化存储。与镜像队列不同,仲裁队列采用多数派写入机制(Quorum),即消息必须被集群中超过半数的节点确认后才会被视为成功写入,从而避免脑裂问题并提升数据安全性。

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

一、核心特点

·强一致性:消息写入需多数节点确认,确保数据不丢失。

·自动故障转移:主节点宕机时,Raft 协议自动选举新主,恢复服务。

·持久化优先:所有消息默认持久化到磁盘,适合关键业务。

·不支持部分特性:如 TTL、优先级、非持久化消息等。

二、应用场景

·金融交易系统(如支付结算):要求消息绝对不丢失,容忍较高延迟。

·医疗数据同步:需严格保证数据一致性,避免因节点故障导致信息错误。

·长期存在的核心业务队列(如订单状态更新):队列生命周期长,且需跨节点容灾。

·跨机房部署:Raft 协议降低脑裂风险,适合多数据中心场景。

三、约束与限制

当前仅开源托管版集群支持配置仲裁队列,Serverless 版是分布式高可用集群,无需配置。

四、配置仲裁队列

1. 登录 TDMQ RabbitMQ 版控制台。

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

3. 按照页面指引填写完 Queue 的信息后,单击提交,完成 Queue 创建。

分类 参数 是否必选 说明
基本信息 当前 Vhost 是 表示正在给哪个 Vhost 创建 Queue。
 Queue 名称 是 填写 Queue 名称,需符合命名规则:1-64个字符,只能包含字母、数字、“-”及“_”。Queue 创建成功后,不支持修改名称。
 类型 是 选择 Quorum队列。
 节点 是 在下拉框中选择 Queue 所在的集群节点。
 Queue 说明 否 填写 Queue 的说明信息,最多128个字符。
常用参数 Auto Expire 否 Queue 的空闲存活时间,当 Queue 在指定时间内没有消费者连接、没有消息被消费或发布,会被自动删除。
 Max Length 否 Queue 可以容纳的消息数量上限,超过设定值后将触发 Overflow behaviour 溢出策略。
 Max Length Bytes 否 Queue 的存储容量上限,超过设定值后将触发 Overflow behaviour 溢出策略。
 Delivery Limit 否 若队列内消息投递失败,允许的重试次数。当消息的投递次数达到设定值时,消息会被自动投递到死信队列(如果配置了死信 Exchange),否则会被丢弃。
 Overflow Behaviour 否 当 Queue 容量达到上限时,队列的消息处理策略:drop-head:当队列达到容量上限时,丢弃队列头部的消息。reject-publish:当队列达到容量上限时,拒绝新消息的发布,并将发布操作标记为失败。
 死信策略 是 无法正常消费的消息投递到死信队列的策略。at-most-once:至多投递一次,消息可能丢失,但不会重复,适用于允许丢消息的非关键业务。at-least-once:至少投递一次,消息不会丢失,但可能重复,适用于不允许丢消息的关键业务。只有 overflow behaviour 选择了 reject-publish 时,死信策略才可以选择 at-least-once。
 死信 Exchange 是 消息达到最大重试次数仍投递失败,将被投递到死信 Exchange,默认指定名为 AMQP default exchange 的默认 Exchange。
其他高级选项 Single Active Consumer 否 是否开启单一活跃消费者,默认关闭。若设置为 true,Queue 同一时间只允许一个消费者消费消息,其他消费者会处于待命状态,当活跃消费者断开后,会自动选择下一个消费者。适用于顺序敏感型任务,如订单状态变更等场景。
 Max In Memory Length 否 Quorum 队列在内存中缓存的最大消息数量,超出后消息会被写入磁盘。
 Max In Memory Bytes 否 Quorum 队列在内存中缓存消息的总大小(字节),超出后消息会被写入磁盘。
 Initial cluster size 否 定义 Quorum 队列在集群中参与 Raft 共识的初始节点数量。
 Leader locator 是 指定 Quorum 队列的 Leader 节点选择策略:client-local:优先选择客户端连接的节点作为当前队列的 Leader 节点,可以减少网络延迟)balanced:均衡分布 Leader,避免某些节点负载过高
赞 (0)
上一篇 4天前
下一篇 4天前