前言
源码是枯燥的,搭建一个源码调试的环境,模拟整体的流程走一遍就比较清晰了。
环境准备
- rocketmq-4.6.0 版本
- rocketmq-externals 切换到console分支
- idea
- JDK 1.8
- Maven
官网下载rocketmq github.com/apache/rock…
官网下载rocketmq-externals github.com/apache/rock…
编译打包
mvn clean package -Dmaven.test.skip=true
我们搭建1个NameServer、2个Broker的演示环境
启动NameServer
- 新建文件夹
D:\dota\rocketmq\NameServer1
D:\dota\rocketmq\NameServer1\conf
D:\dota\rocketmq\NameServer1\logs
-
拷贝日志配置文件 将工程中distribution/conf目录下的1个文件,复制到前面创建的conf目录下, 修改日志的路径配置
-
启动NameServer 设置ROCKETMQ_HOME 参数
启动控制台打印 The Name Server boot success. serializeType=JSON 说明启动成功
Broker
1、新建文件夹
2、拷贝修改配置文件 broker-a配置
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
#nameServer 地址 分号分割
namesrvAddr=127.0.0.1:9876
# 自动创建topic,方便测试
autoCreateTopicEnable=true
# 存储路径
storePathRootDir=D:\\dota\\rocketmq\\broker-a-master\\store
#commitLog 存储路径
storePathCommitLog=D:\\dota\\rocketmq\\broker-a-master\\store\\commitlog
# 消费队列存储路径
storePathConsumeQueue=D:\\dota\\rocketmq\\broker-a-master\\store\\consumequeue
# 消息索引|存储路径
storePathindex=D:\\dota\\rocketmq\\broker-a-master\\store\\index
#checkpoint 文件存储路径
storeCheckpoint=D:\\dota\\rocketmq\\broker-a-master\\store\\checkpoint
#abort 文件存储路径
abortFile=D:\\dota\\rocketmq\\broker-a-master\\store\\abort
broker-b配置
brokerClusterName = DefaultCluster
brokerName = broker-b
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
#nameServer 地址 分号分割
namesrvAddr=127.0.0.1:9876
# 自动创建topic,方便测试
autoCreateTopicEnable=true
# 存储路径
storePathRootDir=D:\\dota\\rocketmq\\broker-b-master\\store
#commitLog 存储路径
storePathCommitLog=D:\\dota\\rocketmq\\broker-b-master\\store\\commitlog
# 消费队列存储路径
storePathConsumeQueue=D:\\dota\\rocketmq\\broker-b-master\\store\\consumequeue
# 消息索存储路径
storePathindex=D:\\dota\\rocketmq\\broker-b-master\store\\index
#checkpoint 文件存储路径
storeCheckpoint=D:\\dota\\rocketmq\\broker-b-master\\store\\checkpoint
#abort 文件存储路径
abortFile=D:\\dota\\rocketmq\\broker-b-master\\store\\abort
listenPort=10921
注意:windows环境下面配置文件里面的路径需要配置转义符。
3、启动Broker
Broker配置需要配置环境遍历ROCKETMQ_HOME和Program启动配置文件的参数变量
这样说明Broker已经启动成功了
启动console控制台
也是先build
mvn clean package -Dmaven.test.skip=true
修改配置文件启动
新建my-topic
消息的发送和消费
这边直接用源码example文件夹下面quickstart下面的方法,启动生产者和消费者 设置topic为my-topic