RocketMq源码解析一:源码结构介绍

本文介绍了RocketMQ 4.9.8版本的源码结构,详细梳理了各个模块,包括broker、client、common等,并指导如何进行源码调试,从配置环境变量到启动NameServer和Broker,以及发送与消费消息。
摘要由CSDN通过智能技术生成

        从本章开始我们对Rocketmq的源码进行解析。使用版本是4.9.8。

        源码下载地址:GitHub - apache/rocketmq: Apache RocketMQ is a cloud native messaging and streaming platform, making it simple to build event-driven applications.

一、源码目录说明 

       打开源码,代码结构如下:

       

        acl:

        broker:broker模块,broker启动进程

        client:消息客户端,包括生产者和消费者

        common:公共包

        dev:开发者信息。可以看到里面是一个python文件

        distribution:部署实例文件夹,里面是一些部署相关的文件,包括配置文件。

        

        docs:帮助文档,包括中英文

         

        example:RocketMQ示例代码

        filter:消息过滤有关的类

        logging:日志相关

        namesrv:NameServer有关的服务

        openmessaging:消息开放标准相关的代码

        remoting:远程netty调用通信相关的代码

        srvutil:服务的工具类

        store:和消息存储相关的代码

        test: 测试相关类

        tools: 工具类,监控命令相关的类

二、源码调试

        我们直接使用下载的源码进行消息的发送和消费。

1、创建配置文件,从distribution文件夹下拷贝下图选中的三个文件,在项目根目录下创建一个新的文件夹:conf,把这三个文件拷贝过去

2、启动NameServer

        启动namesrv模块下的NamesrvStartup.java,我们看到会提示请配置环境变量,这里配置环境变量的目的就是要读取配置文件。

        我们来配置环境变量,key是ROCKETMQ_HOME,value是工程目录

        再次启动,启动成功

3、启动broker

        首先进行broker的配置:broker.conf


brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0

namesrvAddr = 127.0.0.1:9876
# broker凌晨4点做清理工作
deleteWhen = 04
fileReservedTime = 48
# 角色
brokerRole = ASYNC_MASTER
# 刷盘机制
flushDiskType = ASYNC_FLUSH
# 自动创建主题
autoCreateTopicEnable = true

## 存储路径
storePathRootDir = F:\\data\\rocketmq\\datadir
storePathCommitLog = F:\\data\\rocketmq\\commitlog
storePathConsumeQueue = F:\\data\\rocketmq\\consumequeue
storePathIndex = F:\\data\\rocketmq\\index
storeCheckpoint = F:\\data\\rocketmq\\checkpoint
abortFile = F:\\data\\rocketmq\\abort

        然后配置环境变量

        启动参数中,指定配置文件路径

        最后启动broker:BrokerStartup

4、发送消息

        我们直接使用example示例工程中的comsumer

        运行Producer的main方法

5、消费消息

       运行Comsumer的main方法

        调试完成

        本章结束,下章进行namesrv的源码解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值