RocketMQ源码(二):源码概览

一、RocketMQ源码包模块概览

  rocketmq源码包各模块内容如下:

  0

1、命名服务模块 - namesrv

  namesrv被称为命名服务,主要用于Topic路由信息存储;管理broker节点(路由注册、路由删除)。

2、服务端模块 - broker

  接收MQ客户端(生产者、消费者)的请求,调用store模块对消息做持久化。

3、存储模块 - store

  存储实现,包括索引服务、高可用HA服务实现。

4、通信模块 - remoting

  基于netty的底层通信实现,服务间的交互基于通信模块。

5、通用模块 - common

  各模块通用的功能。

6、客户端模块 - client

  mq客户端的实现,生产者、消费者。

7、过滤器模块 - filter

  消息过滤模块,常用的tag过滤、sql表达式过滤。

8、工具模块 - tools

  集群管理模块,提供消息查询等功能。

二、RocketMQ核心功能

1、RocketMQ服务端启动

  RocketMQ服务端由两部分构成,NameServer是服务的注册中心,Broker启动时会将自身的地址注册到NameServer,客户端启动时会优先从NameServer获取Broker地址,再由客户端发送消息到Broker的queue中,消费Broker的queue中的消息。

2、消息发送

  生产者发送消息到RocketMQ集群中的某一台Broker中的queue。

3、消息存储

  生产者发送消息到RocketMQ集群中的某一台Broker中的queue。

4、消息消费

  Comsumer从RocketMQ集群中某一台Broker中的queue拉取对应的消息并进行消费确认。

 
posted @ 2023-05-18 15:35  无虑的小猪  阅读(64)  评论(0编辑  收藏  举报