RocketMQ源碼環境搭建


2.1 環境搭建

依賴工具

  • JDK :1.8+
  • Maven
  • IntelliJ IDEA

2.1.1 源碼拉取

從官方倉庫 https://github.com/apache/rocketmq clone或者download源碼。

源碼目錄結構:

  • broker: broker 模塊(broke 啟動進程)

  • client :消息客戶端,包含消息生產者、消息消費者相關類

  • common :公共包

  • dev :開發者信息(非源代碼)

  • distribution :部署實例文件夾(非源代碼)

  • example: RocketMQ 例代碼

  • filter :消息過濾相關基礎類

  • filtersrv:消息過濾服務器實現相關類(Filter啟動進程)

  • logappender:日志實現相關類

  • namesrv:NameServer實現相關類(NameServer啟動進程)

  • openmessageing:消息開放標准

  • remoting:遠程通信模塊,給予Netty

  • srcutil:服務工具類

  • store:消息存儲實現相關類

  • style:checkstyle相關實現

  • test:測試相關類

  • tools:工具類,監控命令相關實現類

2.1.2 導入IDEA

執行安裝

clean install -Dmaven.test.skip=true

2.1.3 調試

創建conf配置文件夾,從distribution拷貝broker.conflogback_broker.xmllogback_namesrv.xml

1)啟動NameServer

  • 展開namesrv模塊,右鍵NamesrvStartup.java

  • 配置ROCKETMQ_HOME

  • 重新啟動

    控制台打印結果

The Name Server boot success. serializeType=JSON

2)啟動Broker

  • broker.conf配置文件內容
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
# namesrvAddr地址
namesrvAddr=127.0.0.1:9876
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
autoCreateTopicEnable=true

# 存儲路徑
storePathRootDir=E:\\RocketMQ\\data\\rocketmq\\dataDir
# commitLog路徑
storePathCommitLog=E:\\RocketMQ\\data\\rocketmq\\dataDir\\commitlog
# 消息隊列存儲路徑
storePathConsumeQueue=E:\\RocketMQ\\data\\rocketmq\\dataDir\\consumequeue
# 消息索引存儲路徑
storePathIndex=E:\\RocketMQ\\data\\rocketmq\\dataDir\\index
# checkpoint文件路徑
storeCheckpoint=E:\\RocketMQ\\data\\rocketmq\\dataDir\\checkpoint
# abort文件存儲路徑
abortFile=E:\\RocketMQ\\data\\rocketmq\\dataDir\\abort
  • 創建數據文件夾dataDir
  • 啟動BrokerStartup,配置broker.confROCKETMQ_HOME

3)發送消息

  • 進入example模塊的org.apache.rocketmq.example.quickstart
  • 指定Namesrv地址
DefaultMQProducer producer = new DefaultMQProducer("please_rename_unique_group_name");
producer.setNamesrvAddr("127.0.0.1:9876");
  • 運行main方法,發送消息

4)消費消息

  • 進入example模塊的org.apache.rocketmq.example.quickstart
  • 指定Namesrv地址
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("please_rename_unique_group_name_4");
consumer.setNamesrvAddr("127.0.0.1:9876");
  • 運行main方法,消費消息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM