欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Rocketmq broker 是主从架构还是集群架构,可以故障自动转移吗

Rocketmq broker 是主从架构还是集群架构,可以故障自动转移吗

2025/5/21 18:36:17 来源:https://blog.csdn.net/C18298182575/article/details/148095596  浏览:    关键词:Rocketmq broker 是主从架构还是集群架构,可以故障自动转移吗

RocketMQ Broker的架构与故障转移机制

RocketMQ的Broker架构同时采用了主从架构集群架构,并且支持故障自动转移。下面详细说明:

一、架构类型

1. 集群架构

  • RocketMQ天然支持分布式集群部署

  • 一个RocketMQ集群包含多个Broker组(每组有主从)

  • 不同Broker组之间是集群关系,共同提供服务

2. 主从架构(每组Broker内部)

  • 每个Broker组内部采用主从架构

  • 包含1个Master Broker和1个或多个Slave Broker

  • 主从之间数据同步方式:

    • 同步复制(强一致性)

    • 异步复制(更高性能)

二、故障自动转移能力

1. 主从切换(自动故障转移)

  • 当Master宕机时,Slave可以自动或手动提升为新的Master

  • 自动切换条件:

    • 配置了brokerRole=SYNC_MASTER(同步复制模式)

    • Slave与Master数据同步状态良好

    • NameServer检测到Master不可用

2. 消费者自动重试

  • 消费者会自动检测Broker故障

  • 自动连接到可用的Broker(Slave或其他Master)继续消费

3. 生产者自动发现

  • 生产者定期从NameServer获取最新的路由信息

  • 自动发现可用的Broker节点

三、典型部署架构示例

复制

下载

+-------------------+     +-------------------+
|   Broker Group 1  |     |   Broker Group 2  |
|  +-----+ +-----+  |     |  +-----+ +-----+  |
|  |Master| |Slave|  |<--->|  |Master| |Slave|  |
|  +-----+ +-----+  |     |  +-----+ +-----+  |
+-------------------+     +-------------------+^  ^                     ^  ^|  |                     |  |v  v                     v  v
+-------------------+     +-------------------+
|   NameServer      |     |   NameServer      |
|   (集群部署)       |     |   (集群部署)       |
+-------------------+     +-------------------+

四、故障转移流程

  1. 故障检测

    • NameServer定期(默认10秒)检测Broker存活状态

    • Slave会检测Master的心跳

  2. 主从切换

    • 当Master不可达超过一定时间(默认30秒)

    • Slave自动或手动(取决于配置)接管成为新Master

  3. 路由更新

    • NameServer更新路由信息

    • 生产者和消费者从NameServer获取新路由

五、配置要点

  1. 启用高可用:

properties

复制

下载

brokerRole=SYNC_MASTER  # 同步复制模式才能自动故障转移
  1. 建议配置:

  • 至少部署2个Broker组(每组1主1从)

  • 部署3个及以上NameServer节点

  • 使用同步复制模式保证数据安全性

六、注意事项

  1. 异步复制模式下自动故障转移可能丢失少量数据

  2. 自动切换后需要人工介入修复原Master

  3. 跨机房部署时需要考虑网络分区问题

RocketMQ的这种设计既保证了水平扩展能力(集群架构),又提供了高可用性(主从架构),是分布式消息中间件的典型架构设计。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词