這里寫目錄標題
- 緒論
- 原始碼構建
- 1.clone
- 2. 構建
- 3.配置
- 3.1配置namesrv
- 3.2新建檔案夾
- 3.3 配置broker
- 3.4 配置producer
- 3.5 配置 consumer
- 4.啟動
緒論
最近溪源在學習dubbo的相關API機制實踐,如:負載均衡、服務分組、本地存根等等…一方面是dubbo官網檔案給出了詳細的介紹和demo,另一方面由于自己時間方面原因(自己現在也需要學習各種技術堆疊),沒有整理相關實踐總結,但是后面一定會整理出相關的實踐總結,
今天主要給大家介紹一下rocketmq原始碼本地化構建,也是由于溪源專案中暫時未使用該技術堆疊,如果自己想要學習和精進,那只能閱讀一下原始碼和了解相關機制啦!
好啦好啦~不再絮叨啦,無實際作用,下面進入今天的正題,
原始碼構建
首先,分享出rocketMQ相關資料:
專案地址:https://github.com/apache/rocketmq
中文檔案:https://github.com/apache/rocketmq/tree/master/docs/cn

1.clone
原始碼本地化構建肯定是clone啦,大家都明白,
命令 : git clone https://github.com/apache/rocketmq.git
或者大家可以使用idea直接New->Version Control

2. 構建
專案克隆結束以后,輸入命令構建:mvn clean install -U -DskipTests
但是但是~會那么輕松讓我們構建成功嗎??哈哈,驚喜終于來了—[ERROR]

- 解決方案
Error:不再支持源選項 6,請使用 7或更高版本,
修改pom.xml檔案中plugin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>

修改結束,再次輸入上面的構建命令,靜靜地等待構建、下載依賴等~

3.配置
構建完成之后,下面開始著手配置項,
3.1配置namesrv

具體設定如圖:

這里最重要的一步就是設定環境變數:
ROCKETMQ_HOME=/Users/***/rocketmq
目錄結構根據自己實際情況新建檔案夾,后面會用到(本文中溪源以rocketmq為例),
3.2新建檔案夾
以下新建檔案夾與上面配置的環境變數目錄保持一致,例如:/Users/***/rocketmq,以下目錄均基于rocketmq目錄建立,
-
rocketmq中新建
conf、store、logs

-
配置conf

將distribution目錄中conf中的broker.conf、logback_broker.xml、logback_namesrv.xml檔案復制到上一步新建檔案夾conf中, -
修改broker.conf檔案
修改上步復制的broker.conf檔案,新增屬性值:將該檔案中的存放路徑需要改成自己配置的路徑,
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
##以下屬于自己新增配置項
#nameserAddr地址,集群用分號;分割
namesrvAddr=127.0.0.1:9876
#存盤路徑
storePathRootDir=/Users/***/rocketmq/store
#commitLog存盤路徑
storePathCommitLog=/Users/***/rocketmq/store/commitLog
#訊息佇列存盤路徑
storePathConsumeQueue=/Users/***/rocketmq/store/consumeQueue
#訊息索引存盤路徑
storePathIndex=/Users/***/rocketmq/store/index
#checkPoint檔案存盤路徑
storeCheckpoint=/Users/***/rocketmq/store/checkpoint
#abort檔案存盤路徑
abortFile=/Users/***/rocketmq/store/abort
- 修改logback_namesrv.xml配置:
需要${user.home}替換成自己上一步配置的檔案夾路徑;例如/Users/***/rocketmq/,

3.3 配置broker
-
program引數:
-c /Users/***/rocketmq/conf/broker.conf -
環境變數:
ROCKETMQ_HOME=/Users/***/rocketmq
以上路徑均屬于上面自定義組態檔路徑,
具體配置如圖:

3.4 配置producer

3.5 配置 consumer

4.啟動
經歷上面的一番配置后,最后一步就是啟動生產者和消費者啦,
先提前說一下啟動順序:
- 啟動org.apache.rocketmq.namesrv.NamesrvStartup
- 啟動org.apache.rocketmq.broker.BrokerStartup
- 啟動生產者org.apache.rocketmq.example.quickstart.Producer
- 啟動消費者org.apache.rocketmq.example.quickstart.Consumer
如圖:消費者已經成功消費訊息

到此,原始碼本地化構建已經成功啦,接下來就是熟悉rocketmq中的各種機制啦~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/32810.html
標籤:其他
