rocketmq - 10 双主双从模式

双主双从模式比起双主模式要多了两台从机。其好处在于主节点宕机后,从节点可以继续对外提供已经同步到broker上面的消息。从节点有主节点数据的全量copy,并且2M-2S模式下我们可以进行水平扩展,增加消息中间件的吞吐量和消息堆积能力。

关于多主多从模式,前面关于broker的集群有描述过异步复制和同步双写。异步复制性能高,但可能丢失毫秒级别的少量数据。同步双写性能比异步低百分之十,但不会有丢失数据的情况发生。

我们可以根据双主模式的部署,多增加两台机器。但是这次使用的conf下2m-2s-async或2m-2s-sync目录。

我们与双主模式主要不同在于配置文件的不同,我们要原本的基础上更改部分属性

机器1 机器2 机器3 机器4
broker-a broker-b broker-a-s broker-b-s

机器1—-更改属性

namesrvAddr = 四台机器后的namesrvAddr
brokerIP1 = 机器1的IP
brokerName = broker-a
brokerId = 0
brokerRole = ASYNC_MASTER

机器2—-更改属性

namesrvAddr = 四台机器后的namesrvAddr
brokerIP1 = 机器2的IP
brokerName = broker-b
brokerId = 0
brokerRole = ASYNC_MASTER

机器3—-更改属性

namesrvAddr = 四台机器后的namesrvAddr
brokerIP1 = 机器3的IP
brokerName = broker-a
brokerId = 1
brokerRole = SLAVE

机器4—-更改属性

namesrvAddr = 四台机器后的namesrvAddr
brokerIP1 = 机器4的IP
brokerName = broker-b
brokerId = 1
brokerRole = SLAVE

上面是采取异步复制的方式进行的双主双从,所以可以在conf下的2m-2s-async目录部署。如果是要同步双写。只需要brokerRole = SYNC_MASTER即可

brokerId
0 表示 Master, >0 表示 Slave,每台机器的设定如下:

机器1 机器2 机器3 机器4
0 0 1 1

brokerRole = ASYNC_MASTER || SYNC_MASTER
主从角色和是否异步,每台机器的设定如下:

机器1 机器2 机器3 机器4
ASYNC_MASTER ASYNC_MASTER SLAVE SLAVE

猜你喜欢

转载自blog.csdn.net/qq_32020035/article/details/82145956
今日推荐