實戰之前的熱身:
producer只與master建立長連接,發心跳給master,master發現producer異常就關閉連接。
------
慣例,代碼:
資料:
文檔:
這個文檔一定要看的:
控制檯等軟件,這裏打包jar包:
---
安裝:
下載這個版本就不用安裝依賴了。
修改的參數:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
notwpad查看linux的文件:
--------------------------------------------------------------------
異步 削峯 解耦 數據分發
broker和nameServer:每個Broker與集羣中的所有的nameServer建立長連接,定時註冊topic信息到所有的nameServer。
producer與nameServer的其中的一個節點建立長連接,定時拉取路由信息。和提供topic服務的broker建立長連接(master),向broker(master)發送心跳。
consumer與namseServer其中一個節點建立長連接,定時拉取路由信息,和提供topic服務的broker(master和slave)建立長連接,向broker(master,slave)發送和心跳。
---01-11---
具體的配置hosts文件:
# nameserver
192.168.244.128 rocketmq-nameserver1
192.168.244.129 rocketmq-nameserver2
# broker
192.168.244.128 rocketmq-master1
192.168.244.128 rocketmq-slave2
192.168.244.129 rocketmq-master2
192.168.244.129 rocketmq-slave1
配置下環境變量:
路徑:cd /usr/local/apps/rocketmq-all-4.4.0/distribution/target/apache-rocketmq
同步的
配置master1和slave2
配置master2和slave1
注意:對外監聽的端口號是一定不可以重複的。
啓動:
路徑:cd /usr/local/apps/
nohup java -jar rocketmq-console-ng-1.0.1.jar
-
路徑:cd /usr/local/apps/rocketmq-all-4.4.0/distribution/target/apache-rocketmq/bin
nohup sh mqnamesrv &
master1的啓動:nohup sh mqbroker -c ../conf/2m-2s-sync/broker-a.properties &
slave2的啓動:nohup sh mqbroker -c ../conf/2m-2s-sync/broker-b-s.properties &
master2的啓動:nohup sh mqbroker -c ../conf/2m-2s-sync/broker-b.properties &
slave1的啓動:nohup sh mqbroker -c ../conf/2m-2s-sync/broker-a-s.properties &
-
路徑:
cd 2m-2s-sync/
commitlog consumequeue index
---
mkdir /usr/local/rocketmq/store
mkdir /usr/local/rocketmq/store/commitlog
mkdir /usr/local/rocketmq/store/consumequeue
mkdir /usr/local/rocketmq/store/index
mkdir /usr/local/rocketmq/storeslave
mkdir /usr/local/rocketmq/storeslave/commitlog
mkdir /usr/local/rocketmq/storeslave/consumequeue
mkdir /usr/local/rocketmq/storeslave/index
---
監控器:
修改下配置文件:
虛擬機文件的地址
訪問地址:http://192.168.244.128:8080/#/cluster
---12-17---
代碼:
集羣的地址:192.168.244.128:9876;192.168.244.129:9876
注意此時是不能訪問的,要加入一句話:
普通的消息消費:
發送同步消息:
一個重要的知識點,如果兩個消費者不在一個消費者組合的話,那麼他們同時消費一個主題的話,會分別消費掉這個主題的全部信息,而不是負載均衡,相當於廣播。
發送異步消息:
發送單向消息
消息消費的基本流程:
廣播模式和集羣模式:
默認是集羣的負載均衡。
疑問:我們試驗下不在一個消費者組:
集羣模式不在一個消費者組合的話每個消費者組都消費一次消息。
順序消息:
保證局部消息的順序消費就可以了。
就是保證張三和李四的消費是有序的。
思路:張三的步驟都放在一個隊列裏面,消費的話對一個隊列是單線程的消費。
順序消息的消費者:
看下控制檯輸出的線程名稱。
---
消費:
同一個訂單是同一個線程。
空間不足的錯誤:https://www.cnblogs.com/shenrong/p/12670555.html
延時消息:
批量消息:
消息的過濾:tag和sql。
---
事務消息:
null是不針對某個消息而是整個的。
---18-34---