一、项目搭建和测试
1.1 代码拉取
从官方仓库拉取: https://github.com/apache/rocketmq
1.2 源码结构目录
目录名称 | 作用 |
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 | 工具类,监控命令相关实现类 |
1.3 下载 Maven 依赖
# 填入命令,并回车
mvn clean install -Dmaven.test.skip=true
1.4 调试
1.4.1 新建conf文件夹
并将这三个配置copy到conf文件夹
需要为 RocketMQ 配置环境变量
1.4.2 NameSrv 启动
成功:
1.4.3 BrokerSrv 启动
新建 data 文件夹,位置自定义,用于存储 broker 数据
修改 config 文件夹下的 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=D:\\cass\\rocketmq-master\\data\\dataDir
# commitLog路径
storePathCommitLog=D:\\cass\\rocketmq-master\\data\\dataDir\\commitlog
# 消息队列存储路径
storePathConsumeQueue=D:\\cass\\rocketmq-master\\data\\dataDir\\consumequeue
# 消息索引存储路径
storePathIndex=D:\\cass\\rocketmq-master\\data\\dataDir\\index
# checkpoint文件路径
storeCheckpoint=D:\\cass\\rocketmq-master\\data\\dataDir\\checkpoint
# abort文件存储路径
abortFile=D:\\cass\\rocketmq-master\\data\\dataDir\\abort
找到 broker 项目,启动项目
发现又要配置环境变量,配置方式与NameSrv 相同
设置引用的配置文件:
-c D:\cass\rocketmq-master\conf\broker.conf
启动项目
1.4.4 快速测试
找到 example 项目下的 quickstart
修改启动类,配置 namesrv 服务地址
先启动 Producer
再启动 Consumer 消费