消息队列高可用(RocketMQ 中心级集群)

消息队列高可用(RocketMQ 中心级集群) 由 Archify 生成的架构图。 NameServer 1 · 内嵌 Controller · 单中心集群(每中心同构部署) NameServer 1 内嵌 Controller NameServer 2 · 内嵌 Controller · 单中心集群(每中心同构部署) NameServer 2 内嵌 Controller NameServer 3 · 内嵌 Controller · 单中心集群(每中心同构部署) NameServer 3 内嵌 Controller Broker-a Master · 队列 ×N · 单中心集群(每中心同构部署) Broker-a Master 队列 ×N Broker-b Master · 队列 ×N · 单中心集群(每中心同构部署) Broker-b Master 队列 ×N Broker-a Slave · 同步双写副本 · 单中心集群(每中心同构部署) Broker-a Slave 同步双写副本 Broker-b Slave · 同步双写副本 · 单中心集群(每中心同构部署) Broker-b Slave 同步双写副本 生产者 · 业务微服务 · 单中心集群(每中心同构部署) 生产者 业务微服务 消费者 · 监听专属主题 · 单中心集群(每中心同构部署) 消费者 监听专属主题 均衡发送 同步双写 同步双写 消费 单中心集群(每中心同构部署)

中心级部署

  • • 每中心一套集群共 7 台
  • • 3 NameServer 全局路由高可用
  • • 各中心独立生产与消费

负载均衡

  • • 双 Master 多队列模式
  • • 队列数 ≥ 消费者实例数
  • • 生产者均衡发送两 Master

数据不丢

  • • 主从同步双写保障消息持久
  • • 宇信组件:持久化 + 补偿
  • • 消费幂等,消费记录留痕

自动切换

  • • Controller(Raft)自动故障转移
  • • 任一中心主宕机消息不丢
  • • 节点状态上报后切换新节点