消息队列rocketmq入门
源码调试记录
参考学习《Rocketmq技术内幕》一书,https://me.csdn.net/prestigeding
源码下载
https://github.com/apache/rocketmq
可以用心仪的idea下载源码,本地方便进行调试学习。下载好之后目录如下:
简单介绍
接下来就是一步一步启动项目完成一些实例,入门我们主要关注这几个模块:
- namesrv 路由中心
- broker 解耦消费者和发送者组件
- example 消息发送者与消费者 实例程序
- distribution 包含配置文件
可简单理解,不必深究,等项目搭建起来在继续钻研这些细节和概念。
创建ROCKET_HOME
可在本地自定义一个这样的目录创建这三个文件夹;
conf文件夹下放置如下三个文件:xml文件主要修改路径为自己刚才创建的相关文件夹即可;
broker.conf如下:
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 添加如下配置
namesrvAddr=127.0.0.1:9876
storePathRootDir=D:\java\rocketmq\store
storePathCommitLog=D:\java\rocketmq\store\commitlog
storePathConsumeQueue=D:\java\rocketmq\store\consumequeue
storePathIndex=D:\java\rocketmq\store\index
storePathCheckpoint=D:\java\rocketmq\store\checkpoint
abortFile=D:\java\rocketmq\store\abort
启动程序参数修改
上述圈住红色部分注意不要忘记,否则会在启动消息发送者的时候报错!
先启动namesrv下NamesrvStartup.java,再启动broker项目下的BrokerStartup.java ,启动成功如下:
上述表示启动成功,否则去ROCKET_HOME下面创建的logs目录下文件查看错误问题。
启动quickstart
Producer.java 和Consumer.java 添加好本地地址即可启动,运行成功!
如此便可开始我们的DEBUG学习之路了!