17 Rocketmq集群双主双从同步搭建

基于前面一主一从同步搭建

我们企业级开发,一般采用的是双主双从同步,以及异步刷盘;

同步消息保证消息不丢失,异步刷盘提高吞吐量;

我们VM里再克隆两台机器;

192.168.0.110 机器 作为m1主节点

192.168.0.103 机器作为s1从节点

192.168.0.111 机器 作为m2主节点

192.168.0.112 机器作为s2从节点

首先,我们把namesrvAddr配置修改,每个broker都要注册到所有nameserver

namesrvAddr=192.168.0.110:9876;192.168.0.103:9876;192.168.0.111:9876;192.168.0.112:9876;

刷盘机制都改成异步:

#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH

192.168.0.111 机器 作为m2主节点从m1主节点的broker-a.properties复制内容到broker-b.properties文件;

修改broker-b.properties配置文件;

修改内容如下:

brokerName=broker-b

192.168.0.112 机器 作为s2主节点从s1主节点的broker-a-s.properties复制内容到broker-b-s.properties文件;

修改broker-b-s.properties配置文件;

修改内容如下:

brokerName=broker-b

然后分别启动四个机器;

先启动nameserver:

nohup sh mqnamesrv &

再启动broker:

192.168.0.110 机器 作为m1主节点

nohup sh mqbroker -c /home/mq/rocketmq/conf/2m-2s-sync/broker-a.properties &

192.168.0.103 机器作为s1从节点

nohup sh mqbroker -c /home/mq/rocketmq/conf/2m-2s-sync/broker-a-s.properties &

192.168.0.111 机器 作为m2主节点

nohup sh mqbroker -c /home/mq/rocketmq/conf/2m-2s-sync/broker-b.properties &

192.168.0.112 机器作为s2从节点

nohup sh mqbroker -c /home/mq/rocketmq/conf/2m-2s-sync/broker-b-s.properties &

可视化控制台项目namesrvAddr配置改下:

17 Rocketmq集群双主双从同步搭建_第1张图片

启动控制台项目:

17 Rocketmq集群双主双从同步搭建_第2张图片

项目代码,生产端和消费端name-server都改下;

17 Rocketmq集群双主双从同步搭建_第3张图片

启动测试:

17 Rocketmq集群双主双从同步搭建_第4张图片

两个主节点一起分担消息处理;

我们模拟下,让a主节点broker挂掉;

sh mqshutdown broker

17 Rocketmq集群双主双从同步搭建_第5张图片

再运行代码测试,发现b主节点承担了所有消息接收和处理;实现了高可用;

说明:这个是锋哥的RocketMQ备课笔记,等备课完,会发布配套的视频教程,如有需要,可以先加锋哥WX:java1239 欢迎白嫖

你可能感兴趣的:(RocketMQ,java,rocketmq,java,rocketmq集群)