RocketMQ源碼閱讀(1)-環境搭建

1、rocketmq源碼導入

jdk/maven安裝配置略,源碼地址:

https://github.com/apache/rocketmq.git

2、項目啓動

2.1、NameServer啓動

1)找到NamesrvStartup主類

2)配置環境變量(ROCKETMQ_HOME=d:\rocketmq)

3)創建相應目錄(d:\rocketmq,並在該目錄下創建conf、logs、store目錄)

4)、拷貝相應配置文件(distribution:broker.conf、logback_broker.xml、logback_broker.xml)到D:\rocketmq\conf目錄下,修改修改logback_broker.xml文件的日誌路徑,broker.conf文件部分配置

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH

# nameServer地址,分號分割
namesrvAddr=127.0.0.1:9876

# 存儲路徑
storePathRootDir=D:\\rocketmq\\store

# commitLog 存儲路徑
storePathCommitLog=D:\\rocketmq\\store\\commitlog

# 消費隊列存儲路徑
storePathConsumeQueue=D:\\rocketmq\\store\\consumequeue

# 消息索引存儲路徑
storePathIndex=D:\\rocketmq\\store\\index

# checkpoint 存儲路徑
storeCheckpoint=D:\\rocketmq\\store\\checkpoint

# abort文件存儲路徑
abortFile=D:\\rocketmq\\store\\abort

5)、運行NamesrvStartup主類

 

2.2、Broker啓動

1)、配置啓動參數

2)、運行BrokerStartup主類

2.3、測試消息發送與消息消費

1)、發送消息:org.apache.rocketmq.example.quickstart.Producer

    設置NameServer地址:

producer.setNamesrvAddr("127.0.0.1:9876");

   然後運行該類的main方法,有如下響應證明消息發送成功:

SendResult [sendStatus=SEND_OK, msgId=C0A8008149AC18B4AAC2189669D503E7, offsetMsgId=C0A8380100002A9F000000000002E11D, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-a, queueId=0], queueOffset=249]

2)、消費者消費消息:org.apache.rocketmq.example.quickstart.Consumer

 設置NameServer地址:

consumer.setNamesrvAddr("127.0.0.1:9876");

然後運行該類的main方法,有如下響應證明消息消費成功:

ConsumeMessageThread_12 Receive New Messages: [MessageExt [queueId=1, storeSize=189, queueOffset=239, sysFlag=0, bornTimestamp=1567679710658, bornHost=/192.168.56.1:55552, storeTimestamp=1567679710658, storeHost=/192.168.56.1:10911, msgId=C0A8380100002A9F000000000002C15E, commitLogOffset=180574, bodyCRC=730101603, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message{topic='TopicTest', flag=0, properties={MIN_OFFSET=0, MAX_OFFSET=250, CONSUME_START_TIME=1567680098005, UNIQ_KEY=C0A8008149AC18B4AAC2189669C203BC, WAIT=true, TAGS=TagA}, body=[80, 114, 111, 100, 117, 99, 101, 114, 45, 72, 101, 108, 108, 111, 32, 82, 111, 99, 107, 101, 116, 77, 81, 32, 57, 53, 54], transactionId='null'}]] 

 

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