关于消息队列:搭建源码调试环境RocketMQ源码分析一

9次阅读

共计 1865 个字符,预计需要花费 5 分钟才能阅读完成。

你好,我是程序员 Alan, 很快乐遇见你。

一、RocketMQ 目录构造

在正式开始搭建调试环境之前,咱们先理解一下 RockeMQ 源码的整体架构。

这是因为把握了整体架构,能够让咱们迅速理解各个方面的个性,并且能够不便咱们后续疾速定位功能模块对应的代码文件。话不多说,咱们开始看 RocketMQ 目录构造。

acl: 权限管制。能够给话题指定权限,只有领有权限的消费者才能够进行生产。

broker: RocketMQ 的 Broker 相干代码,用来启动 Broker 过程。Broker 就是用来收客户端发的音讯、存储音讯传、递音讯给生产端的组件。

client:RocketMQ 的 Producer、Consumer 这些客户端的代码,用来生产音讯、生产音讯。

common:公共模块。

distribution:用来部署 RocketMQ 的,比方 bin 目录,conf 目录。

example:RocketMQ 的用例。

filter:RocketMQ 过滤器。

namesvr:NameServer 的源码。NameServer 就是所有 Broker 都须要注册的中央,注册核心。

remoting:RocketMQ 的近程网络通信模块。

srvutil:工具类。

store:音讯存储。

style:代码查看。

tools:命令行监控工具相干。

二、获取 RocketMQ 源码

源码地址:https://github.com/apache/roc…

我下载的是 5.0.0 版本,你也能够在 github 下载其余版本。

如果下载遇到困难,能够留言或者私信我。

三、导入源码

代码下载解压之后,应用 IDEA 工具导入。

四、下载依赖

先确认 Maven 目录地址,再刷新,期待依赖下载实现。

五、启动 RocketMQ 的 NameServer

5.1 配置 NameServer 启动参数

5.1.1 Edit Configurations,配置 ROCKETMQ_HOME 环境变量

5.2 拷贝配置文件

Value 的文件夹是用来部署 RocketMQ 的,外面包含 bin 目录,conf 目录,store 目录。

咱们首先创立一个文件夹,并创立三个子文件夹,别离是 bin,conf,store。

文件夹都创立好之后,咱们把 RocketMQ 自带的配置文件拷贝过去。

须要拷贝的文件夹是源码目录 distribution 目录中的 broker.conf、logback_namesrv.xml、logback_broker.xml。

5.3 批改 logback 日志配置文件

关上 logback_namesrv.xml、logback_broker.xml,${user.home} 全局替换 为之前配置的 ROCKETMQ_HOME 目录

5.4 批改 broker 配置文件

关上 broker.conf 文件,把上面的配置拷贝进去。

namesrvAddr=127.0.0.1:9876
brokerIP1=127.0.0.1
storePathRootDir=D:/Project/ROCKETMQ_HOME/store
storePathCommitLog=D:/Project/ROCKETMQ_HOME/store/commitlog
storePathConsumeQueue=D:/Project/ROCKETMQ_HOME/store/consumequeue
storePathIndex=D:/Project/ROCKETMQ_HOME/store/index
storeCheckpoint=D:/Project/ROCKETMQ_HOME/store/checkpoint
abortFile=D:/Project/ROCKETMQ_HOME/store/abort

5.5 启动 NameServer

六、启动 RocketMQ 的 Broker

6.1 配置 Broker 的启动参数

6.2 启动 Broker

6.3 查看启动日志

关上 ROCKETMQ_HOME /logs/rocketmqlogs 目录下的 broker.log 或者 namesrv.log 文件看启动的具体日志。

七、测试生产音讯

7.1 咱们能够间接应用源码自带的示例来做测试。

7.2 关上 Producer.java, 设置 name server addresses

7.3 启动 Producer

7.4 胜利发送音讯

八、测试生产音讯

咱们持续应用自带的测试用例。

8.2 关上 Consumer.java, 设置 name server addresses

8.3 启动消费者

8.4 胜利生产音讯

九、应用 RocketMQ Dashboard 查看 RocketMQ 运行状况

站在伟人的肩膀上

  • 悟空聊架构
正文完
 0