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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值