RocketMQ - 5 源码模块分析

本文介绍了RocketMQ采用maven父子项目拆分的构造,3.2.6版本有9个主要模块,4.3版本有18个目录。着重介绍了common、remoting等核心模块的功能,如消息存储、客户端操作、消息过滤等,还提及了一些附属目录及相关规范。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

rocketMQ采用maven父子项目拆分的项目构造,3.2.6版本有9个主要模块,还有一些其他模块。4.3最新版本总共有18个目录
这里写图片描述

common:通用的枚举、基类方法、或者数据结构,包名有admin、consumer、filter、hook、message
remoting:使用netty4的客户端、服务端,使用fastjson序列化,自定义二进制协议
srvutil:只有一个ServerUtil类,只提供Server程序依赖,尽可能减少客户端依赖
store:消息存储,索引存储,consumerLog,commitLog等
client:客户端,包含consumer和producer,消息发送和接收的过程
filter:消息过滤器
broker:对consumer和producer来说是服务端,接受producer发来的消息并存储,consumer拉取消息
tools:命令行工具
namesrv: NameServer,类似服务注册中心,broker在这里注册。这里保存着消息的TopicName,队列等运行的meta信息。consumer和producer在这里找到broker地址
example:示例说明,对于学习RocketMQ的使用官方给出的示例
logging:日志保存,打印。涉及到关于日志操作的相关信息
target:使用maven进行编译项目得到的目标相关信息
distribution:使用maven进行编译项目后该目录下会有新的东西,可从中获取rocketmq的二进制jar包,里面也包含了rocketmq部署上线的一些配置,shell命令。
test:
style:
openmessageing:包括建立行业指南和消息传递,流媒体规范,为财务,电子商务,物联网和大数据领域提供通用框架。设计原则是分布式异构环境中面向云,简单,灵活和独立于语言的原则。符合这些规范将有可能在所有主要平台和操作系统上开发异构消息传递应用程序。
logappender: RocketMQ logappender提供了log4j appender,log4j2 appender和logback appender,用于使用。关于该模块可以查看http://rocketmq.apache.org/docs/logappender-example/
dev
着重注意:common,remoting,srvutil,store,client,filter,broker,tools,namesrv。其他目录只是附属。有些目录还在学习过程中,暂且不知道他应用于那一块。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值