RocketMQ源码分析(一)源码的各个模块

首先,你得有源码,这个网上都可以找到,各个版本大差不差;但是由于RocketMQ并入了Apache基金会,所以没了中文注释,看起来会有些费劲。

我这边用的是RocketMQ4.4.0的源码,仅对核心源码进行分析,扩展包里的就暂时不谈了。本篇文章我会解释这些模块大致是做什么用的,详细分析后续更新。

以下是源码的结构:


001.jpg

其中有几个模块是核心:

  1. namesrv:namesrv的核心代码,可以理解是mq的注册中心。
  2. broker:即大家常常说的消息队列本体代码,核心中的核心。
  3. client:消息客户端,包含消息生产者、消息消费者相关类 。
  4. remoting:远程通信和协议相关的代码,基于netty(rocketmq的通信部分就是由netty去实现的)。
  5. store:持久化,高可用HA相关的一些代码,也非常重要。
  6. filter:消息过滤的相关代码。
  7. acl:权限相关的代码。

接下来的文章我按顺序从这几个方面来分析RocketMQ:
1.路由发现
2.消息发送
3.消息存储
4.消息消费
5.消息过滤
6.高可用

你可能感兴趣的:(RocketMQ源码分析(一)源码的各个模块)