我们开始深入RocketMQ的源码。源码的解读是个非常困难的过程,每个人的理解程度都会不一样,也不太可能通过讲解把其中的细节全部讲明白。我们今天在解读源码时,采取逐层抽取的模式,希望能够给大家形成一个源码解读的大框架,帮助大家对源码形成自己的理解。
我们分为几条主线来解读源码:
源码环境搭建
1、源码拉取
RocketMQ的官方Git仓库地址:https://github.com/apache/rocketmq 可以用git把项目clone下来或者直接下载代码包。
也可以到RocketMQ的官方网站上下载指定版本的源码:http://rocketmq.apache.org/dowloading/releases/
下载后就可以解压导入到IDEA中进行解读了。我们只要注意下是下载的4.7.1版本就行了。
源码下很多的功能模块,很容易让人迷失方向,我们只关注下几个最为重要的模块:
-
broker: broker 模块(broke 启动进程)
-
client :消息客户端,包含消息生产者、消息消费者相关类
-
example: RocketMQ 例代码
-
namesrv:NameServer实现相关类(NameServer启动进程)