RocketMQ源码分析——项目结构和类设计

项目结构

RocketMQ的源码如上,由多个maven工程组成。 异步

多个maven工程之间的依赖关系如上图所示,从上面咱们能够看出rocketmq-remoting是核心模块。 maven



rocketmq-common

该模块是通用模块,类图就不须要画了,它主要是一些通用的数据模型、枚举和常量定义等,比较简单。 spa

rocketmq-remoting

该模块是一个远程通信模块,抽象出了一个基于client和server的双向通信通用组件,二者通信支持同步和异步两种通信方式。 netty

该模块默认提供了一个基于netty-all-4.0.25.Final的双向通信实现。 orm


rocketmq-namesrv

namesrv是RocketMQ的简单的注册中心服务。 server

它存储了mq运行期的临时信息。主要包括这些: rem

Topic列表, 同步

Topic对应的BrokerName列表, 源码

BrokerName包含的brokerId和brokerAddress列表等。 cli

Cluster及BrokerName列表。

broker存活信息列表。

broker对应的过滤服务列表。




rocketmq-broker



rocketmq-store

相关文章
相关标签/搜索