rocketmq集群搭建双主双从多主多从

时间:2024-04-12 22:23:06
原理图解:

rocketmq集群搭建双主双从多主多从
讲解: 图中每个nameserver和broker都搭建在不同的机器上,broker采用双主双从,一个主broker对应一个从broker,主broker往从broker复制一份数据,采用同步方式,即同步双写。当主broker往从broker上数据备份完成之后,采用异步刷盘策略,把主从 broker内存中的数据写入磁盘里。

优点

如图所示:

  1. 当nameserver1 服务挂掉之后,nameserver2 还是可以正常分配请求给broker。反之亦然。
  2. 当broker-a主broker挂掉之后,另一个主broker-b还是可以正常接受和处理请求。反之亦然。
  3. 当broker-a和broker-b两个主broker同时挂掉之后,broker便不再接受新的请求,但是两个从broker中的数据依然可以正常读取,只是不再接受新的请求,知道主broker回复。
broker和nameserver的关系1 与nameserver关系
  1. 单个broker和所有nameserver保持长连接
  2. 心跳
  • 心跳间隔:每隔30秒(此时间无法更改)向所有nameserver发送心跳,心跳包含了自身的topic配置信息。
  • 心跳超时:nameserver每隔10秒钟(此时间无法更改),扫描所有还存活的broker连接,若某个连接2分钟内(当前时间与最后更新时间差值超过2分钟,此时间无法更改)没有发送心跳数据,则断开连接。
  • 断开时机:broker挂掉;心跳超时导致nameserver主动关闭连接
  • 动作:一旦连接断开,nameserver会立即感知,更新topc与队列的对应关系,但不会通知生产者和消费者