RocketMQ源码剖析-环境搭建

源码拉取

Github访问慢,同步Github代码到Gitee仓库。官方地址: GitHub仓库快速导入Gitee及同步更新

目录结构

image

目录 说明
acl 访问控制模块
broker: broker 模块(broke 启动进程)
client 消息客户端,包含消息生产者、消息消费者相关类
common 公共包
dev 开发者信息(非源代码)
distribution 部署实例文件夹(非源代码)
example RocketMQ 例代码
filter 消息过滤相关基础类
logappender 日志实现相关类
namesrv NameServer实现相关类(NameServer启动进程)
openmessageing 消息开放标准
remoting 远程通信模块,基于Netty
srcutil 服务工具类
store 消息存储实现相关类
style checkstyle相关实现
test 测试相关类
tools 工具类,监控命令相关实现类

导入项目

导入IDEA ,执行命令:clean install -Dmaven.test.skip=true
image

启动调试

  1. 创建 conf 配置文件夹,从 distribution 拷贝 broker.conf 和 logback_broker.xml 和 logback_namesrv.xml
    image

  2. 启动NameServer
    NameServer启动类:NamesrvStartup

添加启动环境
image

打印如下日志即代表启动成功
image

  1. 启动broker
  • 在项目根目录下创建数据文件夹 dataDir
  • 修改conf/broker.conf配置文件,添加如下配置
# namesrvAddr地址
namesrvAddr=127.0.0.1:9876
# 启用自动创建主题
autoCreateTopicEnable=true
# 存储路径
storePathRootDir=dataDir/
# commitLog路径
storePathCommitLog=dataDir/commitlog
# 消息队列存储路径
storePathConsumeQueue=dataDir/consumequeue
# 消息索引存储路径
storePathIndex=dataDir/index
# checkpoint文件路径
storeCheckpoint=dataDir/checkpoint
# abort文件存储路径
abortFile=dataDir/abort
  • 添加启动环境
    image

  • 打印如下日志代表启动成功
    image

发送消息

  1. 进入example模块的 org.apache.rocketmq.example.quickstart.Producer
  2. 设置NameSrv
producer.setNamesrvAddr("127.0.0.1:9876");
  1. 执行Main方法 发送消息

消费消息

  1. 进入example模块的 org.apache.rocketmq.example.quickstart.Consumer
  2. 设置NameSrv
  3. 执行Main方法 消费消息
posted @ 2021-11-01 18:49  狻猊的主人  阅读(114)  评论(0编辑  收藏  举报