heima的mq實戰------1

實戰之前的熱身:

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---

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章