rocketMQ簡述

download:

http://rocketmq.apache.org/dowloading/releases/
https://archive.apache.org/dist/rocketmq/4.3.2/rocketmq-all-4.3.2-bin-release.zip

[root@localhost opt]# mv /root/rocketmq-all-4.3.2-bin-release.zip /opt/
[root@localhost opt]# unzip rocketmq-all-4.3.2-bin-release.zip
[root@localhost opt]# mv rocketmq-all-4.3.2-bin-release rocketmq


#調整默認的內存大小參數
[root@localhost opt]# vim bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=128m -
XX:MaxMetaspaceSize=128m"


[root@localhost opt]# vim bin/runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m"
# 1、啓動nameserver
[root@localhost opt]# bin/mqnamesrv
或
[root@localhost opt]# nohup bin/mqnamesrv -n 192.168.168.168:9876 >>/dev/null 2>&1 &
日誌目錄:~/logs/rocketmqlogs/namesrv.log


# 2、啓動broker;-n 指定nameserver地址和端口
[root@localhost opt]# bin/mqbroker -n 192.168.168.168:9876 
或
在conf/broker.conf 中 加入 brokerIP1=你的IP
[root@localhost opt]# nohup sh bin/mqbroker -n 192.168.168.168:9876 -c conf/broker.conf autoCreateTopicEnable=true >>/dev/null 2>&1 &
日誌目錄:~/logs/rocketmqlogs/broker.log


如上啓動可避免如下錯誤:
org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout


# 3、rocketmq服務關閉
關閉namesrv服務:sh bin/mqshutdown namesrv
關閉broker服務 :sh bin/mqshutdown broker
sh mqadmin updateTopic -n 192.168.168.168:6789 -c Test-Cluster -t TEST_TOPIC

sh mqadmin updateSubGroup -n 192.168.168.168:6789 -c Test-Cluster -g TESTConsumer

mqadmin updateTopic -b 192.168.100.100:10911 -n 192.168.100.100:9876 -t TopicTest

啓動沒有異常檢查nameserver中是否成功註冊了broker,有兩種方式 :
第一種:查看broker的日誌

[root@localhost ]# tail -n10 ~/logs/rocketmqlogs/broker.log

在這裏插入圖片描述

第二種、 mqadmin

[root@localhost bin]# sh mqadmin clusterList -n 192.168.100.100:9876

在這裏插入圖片描述


Producer

消息生產者,負責產生消息,一般由業務系統負責產生消息。

Producer Group

一類 Producer 的集合名稱,這類 Producer 通常發送一類消息,且發送邏輯一致。


Consumer

消息費者,負責消費消息,一般是後臺系統負責異步消費。

Push Consumer

服務端向消費者端推送消息。

Pull Consumer

消費者端向服務定時拉取消息。

Consumer Group

一類 Consumer 的集合名稱,這類 Consumer 通常消費一類消息,且消費邏輯一致。


NameServer

集羣架構中的組織協調員,收集broker的工作情況,不負責消息的處理。

Broker

是RocketMQ的核心,負責消息的發送、接收、高可用等,需要定時發送自身情況到NameServer,默認10秒發送一次,超時2分鐘會認爲該broker失效。


Topic

不同類型的消息以不同的Topic名稱進行區分,如User、Order等是邏輯概念。

Message Queue

消息隊列,用於存儲消息。



download rocket-console

https://github.com/apache/rocketmq-externals
在這裏插入圖片描述
修改
…\rocketmq-console\src\main\resources\application.properties文件
在這裏插入圖片描述

閱讀README.md
mvn clean package -Dmaven.test.skip=true在地址欄中輸入cmd,快

mvn clean package -Dmaven.test.skip=true

java -jar target/rocketmq-console-ng-1.0.1.jar

start rocket-console

nohup java -jar rocketmq-console-ng-1.0.1.jar > /dev/null 2>&1 &

訪問控制檯
192.168.168.168:8080


三、源碼測試
github地址:https://github.com/apache/rocketmq


常用命令說明:

[root@localhost bin]# ./mqnamesrv --help
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
Java HotSpot(TM) 64-Bit Server VM warning: MaxNewSize (131072k) is equal to or greater than the entire heap (131072k).  A new max generation size of 131008k will be used.
usage: mqnamesrv [-c <arg>] [-h] [-n <arg>] [-p]
 -c,--configFile <arg>    Name server config properties file
 -h,--help                Print help
 -n,--namesrvAddr <arg>   Name server address list, eg: 192.168.0.1:9876;192.168.0.2:9876
 -p,--printConfigItem     Print all config item

[root@localhost bin]# ./mqbroker --help
usage: mqbroker [-c <arg>] [-h] [-m] [-n <arg>] [-p]
 -c,--configFile <arg>       Broker config properties file
 -h,--help                   Print help
 -m,--printImportantConfig   Print important config item
 -n,--namesrvAddr <arg>      Name server address list, eg: 192.168.0.1:9876;192.168.0.2:9876
 -p,--printConfigItem        Print all config item

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