驗證rocketMQ兩主部署
準備工作兩臺服務器
A nameserver broker1
B broker2
配置文件 集群名稱一致,brokerId=0 相當于(主),brokerName不一致
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
nameserver啟動
[admin@172_30_229_146 bin]$ nohup sh mqnameserver &
兩臺主broker啟動
[admin@172_30_229_146 bin]$ nohup sh mqbroker -c ../conf/2m-noslave/broker-b.properties -n localhost:9876 &
[admin@172_30_223_202 bin]$ nohup sh mqbroker -c ../conf/2m-noslave/broker-b.properties -n 172.30.229.146:9876 &
1.看下 broker 和nameserver部署情況
[admin@172_30_229_146 bin]$ ./mqadmin clusterList -n localhost:9876
#Cluster Name #Broker Name #BID #Addr #Version #InTPS(LOAD) #OutTPS(LOAD) #PCWait(ms) #Hour #SPACE
DefaultCluster broker-a 0 172.30.229.146:10911 V4_3_0 0.00(0,0ms) 0.00(0,0ms) 0 427206.54 -1.0000
DefaultCluster broker-b 0 172.30.223.202:10911 V4_3_0 0.00(0,0ms) 0.00(0,0ms) 0 427206.54 -1.0000
可知兩臺 broker 同一個集群都是主
創(chuàng)建topic 這里是關鍵-c DefaultCluster
[admin@172_30_229_146 bin]$ ./mqadmin updateTopic -c DefaultCluster -t xiafei -n localhost:9876
create topic to 172.30.229.146:10911 success.
create topic to 172.30.223.202:10911 success.
TopicConfig [topicName=xiafei, readQueueNums=8, writeQueueNums=8, perm=RW-, topicFilterType=SINGLE_TAG, topicSysFlag=0, order=false][admin@172_30_229_146 bin]$
客戶端發(fā)消息測試
發(fā)第一條
[admin@172_30_229_146 bin]$ ./mqadmin topicStatus -t xiafei -n localhost:9876
#Broker Name #QID #Min Offset #Max Offset #Last Updated
broker-a 0 0 0
broker-a 1 0 0
broker-a 2 0 0
broker-a 3 0 0
broker-a 4 0 0
broker-a 5 0 0
broker-a 6 0 0
broker-a 7 0 0
broker-b 0 0 0
broker-b 1 0 0
broker-b 2 0 0
broker-b 3 0 0
broker-b 4 0 0
broker-b 5 0 0
broker-b 6 0 1 2018-09-26 14:50:45,747
broker-b 7 0 0
發(fā)第二條
[admin@172_30_229_146 bin]$ ./mqadmin topicStatus -t xiafei -n localhost:9876
#Broker Name #QID #Min Offset #Max Offset #Last Updated
broker-a 0 0 0
broker-a 1 0 0
broker-a 2 0 0
broker-a 3 0 0
broker-a 4 0 0
broker-a 5 0 0
broker-a 6 0 1 2018-09-26 14:51:13,122
broker-a 7 0 0
broker-b 0 0 0
broker-b 1 0 0
broker-b 2 0 0
broker-b 3 0 0
broker-b 4 0 0
broker-b 5 0 0
broker-b 6 0 1 2018-09-26 14:50:45,747
broker-b 7 0 0
結論:
多主部署時,相當于分片.
消息會均衡的分散在個臺broker上
至于 多從
情況就是從主上復制嘛!
然后選擇同步或者異步復制
由此可以部署上與kafka不一樣的地方.就是在主從部署時,RocketMQ這個主服務器,不能同時作為主服務器或者從服務器.
kafka是將各個topic的隊列分散存在各個機器上.每個機器上隊列可以是主,亦可以是從.比較靈活