基于前面一主一从同步搭建
我们企业级开发,一般采用的是双主双从同步,以及异步刷盘;
同步消息保证消息不丢失,异步刷盘提高吞吐量;
我们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配置改下:
启动控制台项目:
项目代码,生产端和消费端name-server都改下;
启动测试:
两个主节点一起分担消息处理;
我们模拟下,让a主节点broker挂掉;
sh mqshutdown broker
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/caoli201314/article/details/120361397
内容来源于网络,如有侵权,请联系作者删除!