一:安裝環(huán)境
1.軟硬件要求
- Linux64位系統(tǒng)
- JDK1.8(64位)
- 源碼安裝需要安裝Maven 3.2.x
2.下載RocketMQ
下載:rocketMQ下載
二.安裝單機(jī)MQ
1.上傳并解壓
解壓命令:unzip rocketmq-all-4.5.1-bin-release.zip
2.目錄介紹
- benchmark:一些demo
- bin:啟動腳本,包括shell腳本和CMD腳本
- conf:實例配置文件 ,包括broker配置文件、logback配置文件等
- lib:依賴jar包,包括Netty、commons-lang、FastJSON等
3.修改MQ啟動時初始JVM內(nèi)存
RocketMQ默認(rèn)的虛擬機(jī)內(nèi)存較大,啟動Broker如果因為內(nèi)存不足失敗,需要編輯如下兩個配置文件,修改JVM內(nèi)存大小
# 編輯runbroker.sh和runserver.sh修改默認(rèn)JVM大小
vi runbroker.sh
vi runserver.sh
4.啟動NameServer與Broker
1)啟動NameServer命令
nohup sh mqnamesrv &
或nohup sh mqnamesrv -n localhost:9876 autoCreateTopicEnable=true &
2)查看NameServer啟動日志
tail -f ~/logs/rocketmqlogs/namesrv.log
3)啟動Broker命令
nohup sh mqbroker -n localhost:9876 &
或nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true> ~/logs/rocketmqlogs/broker.log2>&1&
4)查看Broker啟動日志
tail -f ~/logs/rocketmqlogs/broker.log
注意:由于jdk版本安裝了17,版本過高啟動報錯
將jdk17版本切為jdk1.8后重新啟動即可
5)關(guān)閉服務(wù)命令
sh mqshutdown namesrv
sh mqshutdown broker
5.測試RocketMQ
1)發(fā)送消息
#設(shè)置環(huán)境變量
export NAMESRV_ADDR=localhost:9876
#使用安裝包的Demo發(fā)送消息
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
2)接收消息
#設(shè)置環(huán)境變量
export NAMESRV_ADDR=localhost:9876
#接收消息
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
三.RocketMQ集群搭建
1.集群概念特點
- NameServer是一個幾乎無狀態(tài)節(jié)點,可集群部署,節(jié)點之間無任何信息同步。
- Broker分為Master與Slave,一個Master可以對應(yīng)多個Slave,但是一個Slave只能對應(yīng)一個Master,Master與Slave的對應(yīng)關(guān)系通過指定相同的BrokerName,不同的BrokerId來定義,BrokerId為0表示Master,非0表示Slave。Master也可以部署多個。每個Broker與NameServer集群中的所有節(jié)點建立長連接,定時注冊Topic信息到所有NameServer。
- Producer與NameServer集群中的其中一個節(jié)點(隨機(jī)選擇)建立長連接,定期從NameServer取Topic路由信息,并向提供Topic服務(wù)的Master建立長連接,且定時向Master發(fā)送心跳。Producer完全無狀態(tài),可集群部署(即啟動多個producer)。
- Consumer與NameServer集群中的其中一個節(jié)點(隨機(jī)選擇)建立長連接,定期從NameServer取Topic路由信息,并向提供Topic服務(wù)的Master、Slave建立長連接,且定時向Master、Slave發(fā)送心跳。Consumer既可以從Master訂閱消息,也可以從Slave訂閱消息,訂閱規(guī)則由Broker配置決定。
2.集群模式分類
根據(jù)Broker集群中各個節(jié)點間關(guān)系的不同分類
1)單Master模式(本質(zhì)上就不能稱為集群)
這種方式風(fēng)險較大,一旦Broker重啟或者宕機(jī)時,會導(dǎo)致整個服務(wù)不可用。
2)多Master模式
broker集群僅由多個master構(gòu)成,不存在Slave。同一Topic的各個Queue會平均分布在各個master節(jié)點上。這種模式的優(yōu)缺點如下:
優(yōu)點:配置簡單,單個Master宕機(jī)或重啟維護(hù)對應(yīng)用無影響,在磁盤配置為RAID10(一種存儲技術(shù))時,即使機(jī)器宕機(jī)不可恢復(fù)情況下,由于RAID10磁盤非??煽浚⒁膊粫G(異步刷盤丟失少量消息,同步刷盤一條不丟),性能最高;
缺點:單臺機(jī)器宕機(jī)期間,這臺機(jī)器上未被消費的消息在機(jī)器恢復(fù)之前不可訂閱,消息實時性會受到影響。
以上優(yōu)點的前提是,這些Master都配置了RAID磁盤陣列。如果沒有配置,一旦出現(xiàn)某Master宕機(jī),則會發(fā)生大量消息丟失的情況。
3)多Master多Slave模式(異步)
broker集群由多個master構(gòu)成,每個master又配置了多個slave(在配置了RAID磁盤陣列的情況下,一個master一般配置一個slave即可)。master與slave的關(guān)系是主備關(guān)系,即master負(fù)責(zé)處理消息的讀寫請求,而slave僅負(fù)責(zé)消息的備份與master宕機(jī)后的角色切換。
異步復(fù)制即消息寫入master成功后,master立即向producer返回成功ACK,無需等待向slave同步數(shù)據(jù)成功。
該模式的最大特點之一是,當(dāng)master宕機(jī)后slave能夠自動切換為master。不過由于slave從master的同步具有短暫的延遲(毫秒級),所以當(dāng)master宕機(jī)后,這種異步復(fù)制方式可能會存在少量消息的丟失問題。
4)多Master多Slave模式(同步)
該模式是多Master多Slave模式的同步復(fù)制實現(xiàn)。所謂同步雙寫,指的是消息寫入master成功后,master會等待slave同步數(shù)據(jù)成功后才向producer返回成功ACK,即master與slave都要寫入成功后才會返回成功ACK,也即雙寫。
該模式與異步復(fù)制模式相比,優(yōu)點是消息的安全性更高,不存在消息丟失的情況。但單個消息的RT略高,從而導(dǎo)致性能要略低(大約低10%)。
該模式存在一個大的問題:對于目前的版本,Master宕機(jī)后,Slave不會自動切換到Master。
最佳方案
一般會為Master配置RAID10磁盤陣列,然后再為其配置一個Slave。即利用了RAID10磁盤陣列的高效、安全性,又解決了可能會影響訂閱的問題。
1)RAID磁盤陣列的效率要高于Master-Slave集群。因為RAID是硬件支持的。也正因為如此,所以RAID陣列的搭建成本較高。
2)多Master+RAID陣列,與多Master多Slave集群的區(qū)別是什么?
2-1)多Master+RAID陣列,其僅僅可以保證數(shù)據(jù)不丟失,即不影響消息寫入,但其可能會影響到消息的訂閱。但其執(zhí)行效率要遠(yuǎn)高于多Master多Slave集群
2-2)多Master多Slave集群,其不僅可以保證數(shù)據(jù)不丟失,也不會影響消息寫入。其運行效率要低于多Master+RAID陣列
3.集群工作流程
- 啟動NameServer,NameServer起來后監(jiān)聽端口,等待Broker、Producer、Consumer連上來,相當(dāng)于一個路由控制中心。
- Broker啟動,跟所有的NameServer保持長連接,定時發(fā)送心跳包。心跳包中包含當(dāng)前Broker信息(IP+端口等)以及存儲所有Topic信息。注冊成功后,NameServer集群中就有Topic跟Broker的映射關(guān)系。
- 收發(fā)消息前,先創(chuàng)建Topic,創(chuàng)建Topic時需要指定該Topic要存儲在哪些Broker上,也可以在發(fā)送消息時自動創(chuàng)建Topic。
- Producer發(fā)送消息,啟動時先跟NameServer集群中的其中一臺建立長連接,并從NameServer中獲取當(dāng)前發(fā)送的Topic存在哪些Broker上,輪詢從隊列列表中選擇一個隊列,然后與隊列所在的Broker建立長連接從而向Broker發(fā)消息。
- Consumer跟Producer類似,跟其中一臺NameServer建立長連接,獲取當(dāng)前訂閱Topic存在哪些Broker上,然后直接跟Broker建立連接通道,開始消費消息。
4.雙主雙從集群搭建
消息高可用采用2m-2s(同步雙寫)方式
主機(jī)ip 角色 架構(gòu)模式
192.168.31.116 nameserver、brokerserver Master1、Slave2
192.168.31.117 nameserver、brokerserver Master2、Slave1
4.1 創(chuàng)建消息存儲路徑
mkdir /usr/local/rocketmq/store-a
mkdir /usr/local/rocketmq/store-a/commitlog
mkdir /usr/local/rocketmq/store-a/consumequeue
mkdir /usr/local/rocketmq/store-a/index
mkdir /usr/local/rocketmq/store-a-s
mkdir /usr/local/rocketmq/store-a-s/commitlog
mkdir /usr/local/rocketmq/store-a-s/consumequeue
mkdir /usr/local/rocketmq/store-a-s/index
mkdir /usr/local/rocketmq/store-b
mkdir /usr/local/rocketmq/store-b/commitlog
mkdir /usr/local/rocketmq/store-b/consumequeue
mkdir /usr/local/rocketmq/store-b/index
mkdir /usr/local/rocketmq/store-b-s
mkdir /usr/local/rocketmq/store-b-s/commitlog
mkdir /usr/local/rocketmq/store-b-s/consumequeue
mkdir /usr/local/rocketmq/store-b-s/index
4.2 開放端口
簡單粗暴的方式是直接關(guān)閉防火墻
# 關(guān)閉防火墻
systemctl stop firewalld.service
# 查看防火墻的狀態(tài)
firewall-cmd --state
# 禁止firewall開機(jī)啟動
systemctl disable firewalld.service
為了安全,只開放特定的端口號,RocketMQ默認(rèn)使用3個端口:9876 、10911 、11011 。如果防火墻沒有關(guān)閉的話,那么防火墻就必須開放這些端口:
- nameserver 默認(rèn)使用 9876 端口
- master 默認(rèn)使用 10911 端口
- slave 默認(rèn)使用11011 端口
執(zhí)行以下命令:
# 開放name server默認(rèn)端口
firewall-cmd --remove-port=9876/tcp --permanent
# 開放master默認(rèn)端口
firewall-cmd --remove-port=10911/tcp --permanent
# 開放slave默認(rèn)端口 (當(dāng)前集群模式可不開啟)
firewall-cmd --remove-port=11011/tcp --permanent
# 重啟防火墻
firewall-cmd --reload
4.3 broker配置文件
1)master1
服務(wù)器:192.168.31.116
修改配置:vim /usr/local/rocketmq/rocketmq-all-4.5.1-bin-release/conf/2m-2s-sync/broker-a.properties
#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不同的配置文件填寫的不一樣
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分號分割
namesrvAddr=192.168.31.116:9876;192.168.31.117:9876
#在發(fā)送消息時,自動創(chuàng)建服務(wù)器不存在的topic,默認(rèn)創(chuàng)建的隊列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創(chuàng)建訂閱組,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=true
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=10911
#刪除文件時間點,默認(rèn)凌晨 4點
deleteWhen=04
#文件保留時間,默認(rèn) 48 小時
fileReservedTime=120
#commitLog每個文件的大小默認(rèn)1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/usr/local/rocketmq/store-a
#commitLog 存儲路徑
storePathCommitLog=/usr/local/rocketmq/store-a/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/usr/local/rocketmq/store-a/consumequeue
#消息索引存儲路徑
storePathIndex=/usr/local/rocketmq/store-a/index
#checkpoint 文件存儲路徑
storeCheckpoint=/usr/local/rocketmq/store-a/checkpoint
#abort 文件存儲路徑
abortFile=/usr/local/rocketmq/store-a/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池數(shù)量
#sendMessageThreadPoolNums=128
#拉消息線程池數(shù)量
#pullMessageThreadPoolNums=128
2)slave2
服務(wù)器:192.168.31.116
修改配置:vim /usr/local/rocketmq/rocketmq-all-4.5.1-bin-release/conf/2m-2s-sync/broker-b-s.properties
#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不同的配置文件填寫的不一樣
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分號分割
namesrvAddr=192.168.31.116:9876;192.168.31.116:9876
#在發(fā)送消息時,自動創(chuàng)建服務(wù)器不存在的topic,默認(rèn)創(chuàng)建的隊列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創(chuàng)建訂閱組,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=true
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=11011
#刪除文件時間點,默認(rèn)凌晨 4點
deleteWhen=04
#文件保留時間,默認(rèn) 48 小時
fileReservedTime=120
#commitLog每個文件的大小默認(rèn)1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/usr/local/rocketmq/store-b-s
#commitLog 存儲路徑
storePathCommitLog=/usr/local/rocketmq/store-b-s/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/usr/local/rocketmq/store-b-s/consumequeue
#消息索引存儲路徑
storePathIndex=/usr/local/rocketmq/store-b-s/index
#checkpoint 文件存儲路徑
storeCheckpoint=/usr/local/rocketmq/store-b-s/checkpoint
#abort 文件存儲路徑
abortFile=/usr/local/rocketmq/store-b-s/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池數(shù)量
#sendMessageThreadPoolNums=128
#拉消息線程池數(shù)量
#pullMessageThreadPoolNums=128
3)master2
服務(wù)器:192.168.31.117
修改配置:vim /usr/local/rocketmq/rocketmq-all-4.5.1-bin-release/conf/2m-2s-sync/broker-b.properties
#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不同的配置文件填寫的不一樣
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分號分割
namesrvAddr=192.168.31.116:9876;192.168.31.117:9876
#在發(fā)送消息時,自動創(chuàng)建服務(wù)器不存在的topic,默認(rèn)創(chuàng)建的隊列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創(chuàng)建訂閱組,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=true
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=10911
#刪除文件時間點,默認(rèn)凌晨 4點
deleteWhen=04
#文件保留時間,默認(rèn) 48 小時
fileReservedTime=120
#commitLog每個文件的大小默認(rèn)1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/usr/local/rocketmq/store-b
#commitLog 存儲路徑
storePathCommitLog=/usr/local/rocketmq/store-b/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/usr/local/rocketmq/store-b/consumequeue
#消息索引存儲路徑
storePathIndex=/usr/local/rocketmq/store-b/index
#checkpoint 文件存儲路徑
storeCheckpoint=/usr/local/rocketmq/store-b/checkpoint
#abort 文件存儲路徑
abortFile=/usr/local/rocketmq/store-b/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池數(shù)量
#sendMessageThreadPoolNums=128
#拉消息線程池數(shù)量
#pullMessageThreadPoolNums=128
4)slave1
服務(wù)器:192.168.31.117
修改配置:vim /usr/local/rocketmq/rocketmq-all-4.5.1-bin-release/conf/2m-2s-sync/broker-a-s.properties
#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不同的配置文件填寫的不一樣
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分號分割
namesrvAddr=192.168.31.116:9876;192.168.31.117:9876
#在發(fā)送消息時,自動創(chuàng)建服務(wù)器不存在的topic,默認(rèn)創(chuàng)建的隊列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創(chuàng)建訂閱組,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=true
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=11011
#刪除文件時間點,默認(rèn)凌晨 4點
deleteWhen=04
#文件保留時間,默認(rèn) 48 小時
fileReservedTime=120
#commitLog每個文件的大小默認(rèn)1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/usr/local/rocketmq/store-a-s
#commitLog 存儲路徑
storePathCommitLog=/usr/local/rocketmq/store-a-s/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/usr/local/rocketmq/store-a-s/consumequeue
#消息索引存儲路徑
storePathIndex=/usr/local/rocketmq/store-a-s/index
#checkpoint 文件存儲路徑
storeCheckpoint=/usr/local/rocketmq/store-a-s/checkpoint
#abort 文件存儲路徑
abortFile=/usr/local/rocketmq/store-a-s/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池數(shù)量
#sendMessageThreadPoolNums=128
#拉消息線程池數(shù)量
#pullMessageThreadPoolNums=128
4.4 服務(wù)啟動
1)啟動NameServe集群
分別在192.168.31.116和192.168.31.117啟動NameServer
nohup sh mqnamesrv &
2)啟動Broker集群
在192.168.31.116上啟動master1和slave2
master1:
nohup sh mqbroker -c /usr/local/rocketmq/rocketmq-all-4.5.1-bin-release/conf/2m-2s-sync/broker-a.properties &
slave2:
nohup sh mqbroker -c /usr/local/rocketmq/rocketmq-all-4.5.1-bin-release/conf/2m-2s-sync/broker-b-s.properties &
在192.168.31.117上啟動master2和slave1
master2:
nohup sh mqbroker -c /usr/local/rocketmq/rocketmq-all-4.5.1-bin-release/conf/2m-2s-sync/broker-b.properties &
slave1:
nohup sh mqbroker -c /usr/local/rocketmq/rocketmq-all-4.5.1-bin-release/conf/2m-2s-sync/broker-a-s.properties &
3)啟動后通過JPS查看啟動進(jìn)程
4)查看日志
```java
# 查看nameServer日志
tail -500f ~/logs/rocketmqlogs/namesrv.log
# 查看broker日志
tail -500f ~/logs/rocketmqlogs/broker.log
```

5)服務(wù)停止的相關(guān)命令(配置修改后可先停止服務(wù)再啟動)文章來源:http://www.zghlxwxcb.cn/news/detail-734783.html
cd /usr/local/rocketmq-all-4.5.0-bin-release/bin
# 停止 Broker
./mqshutdown broker
# 停止 name server
./mqshutdown namesrv
# 執(zhí)行停止命令后,稍等一會使用jps查看是否已經(jīng)關(guān)閉,或者使用ps -ef| grep java
jps
四:集群監(jiān)控平臺搭建
--下載項目到本地
git clone https://github.com/apache/rocketmq-dashboard
該項目是一個springboot項目,修改配置文件中的端口號和mq注冊中心地址:
啟動項目后訪問
http://localhost:8888/文章來源地址http://www.zghlxwxcb.cn/news/detail-734783.html
到了這里,關(guān)于三.RocketMQ單機(jī)安裝及集群搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!