文档章节

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

杨武兵
 杨武兵
发布于 2016/04/19 10:56
字数 311
阅读 1234
收藏 8
点赞 1
评论 0

项目结构

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

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



rocketmq-common

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

rocketmq-remoting

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

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


rocketmq-namesrv

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

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

Topic列表,

Topic对应的BrokerName列表,

BrokerName包含的brokerId和brokerAddress列表等。

Cluster及BrokerName列表。

broker存活信息列表。

broker对应的过滤服务列表。




rocketmq-broker



rocketmq-store



© 著作权归作者所有

共有 人打赏支持
杨武兵

杨武兵

粉丝 240
博文 61
码字总数 123254
作品 1
昌平
架构师
消息中间件—RocketMQ的RPC通信(一)

文章摘要:借用小厮的一句话“消息队列的本质在于消息的发送、存储和接收”。那么,对于一款消息队列来说,如何做到消息的高效发送与接收是重点和关键 一、RocketMQ中Remoting通信模块概览 ...

癫狂侠
06/30
0
0
消息中间件—RocketMQ的RPC通信(二)

文章摘要:如何设计RPC通信层模型是任何一款性能强劲的MQ所要重点考虑的问题 在(一)篇中主要介绍了RocketMQ的协议格式,消息编解码,通信方式(同步/异步/单向)、消息发送/接收以及异步回调...

癫狂侠
07/01
0
0
RocketMQ(二):RPC通讯

匠心零度 转载请注明原创出处,谢谢! RocketMQ网络部署图 NameServer:在系统中是做命名服务,更新和发现 broker服务。 Broker-Master:broker 消息主机服务器。 Broker-Slave: broker 消息...

匠心零度
04/04
0
0
RocketMQ原理(4)——消息ACK机制及消费进度管理

https://zhuanlan.zhihu.com/p/25140744 中剖析过,consumer的每个实例是靠队列分配来决定如何消费消息的。那么消费进度具体是如何管理的,又是如何保证消息成功消费的(RocketMQ有保证消息肯...

xiaomin0322
04/14
0
0
RocketMQ部分数据消费不了问题排查

问题现象 今天忽然收到RocketMQ预警信息如下: 提醒有部分数据没有消费,产生堆积情况。 打开RocketMq-Console-Ng查看如下图形式: 备注:第一反应是Consumer Group内订阅了多个topic?(为什...

匠心零度
05/14
0
0
《Apache RocketMQ用户指南》之过滤消息示例

消息过滤示例 原文链接 译者:小村长 在大多数情况下,tag是一种简单而有用的设计,用于选择所需的信息。 例如: DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("CID_EXAMPLE...

小村长
01/23
0
0
《Apache RocketMQ用户指南》官方文档

RocketMQ–导读 原文链接 译者:小村长 最近两个项目中用到了RocketMQ消息中间件,每次都是在网上找几个Demo,而没有去看它的官方文档。年前面试某大型互联网企业。RocketMQ多有提及。今借此...

小村长
01/23
0
0
消息中间件—简谈Kafka中的NIO网络通信模型

文章摘要:很多人喜欢把RocketMQ与Kafka做对比,其实这两款消息队列的网络通信层还是比较相似的,本文就为大家简要地介绍下Kafka的NIO网络通信模型 前面写的两篇RocketMQ源码研究笔记系列: ...

癫狂侠
07/16
0
0
《Apache RocketMQ用户指南》之有序的消息示例

有序消息 原文链接 译者:小村长 RocketMQ使用FIFO队列提供有序消息. 以下示例演示发送/接收全局和分区有序消息。 发送消息示例代码 public class OrderedProducer { } 订阅消息简单示例代码...

小村长
01/23
0
0
RocketMQ(八):消息发送

匠心零度 转载请注明原创出处,谢谢! RocketMQ网络部署图 NameServer:在系统中是做命名服务,更新和发现 broker服务。 Broker-Master:broker 消息主机服务器。 Broker-Slave: broker 消息...

匠心零度
06/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java的反射机制理解

一、概念说明 java的反射机制,是在运行状态下,可以动态获取任意一个类的属性和方法;可以动态调用一个对象任意方法; 二、反射相关类 java.lang.Class; //类 java.lang.re...

盼望明天
5分钟前
0
0
nginx反向代理-多端口映射

代码解释 1.1 http:www.baidu.test.com默认是80,访问“/”利用反向代理,然后访问本地8083; 1.2 8083代表本地的前端工程访问地址,前端需要访问后台数据,”/”,继续代理到后台地址9803; ...

lilugirl
7分钟前
0
0
Jfinal使用log4j2打印日志

1,添加maven配置 <properties><log4j2.version>2.11.0</log4j2.version><slf4j.version>1.7.25</slf4j.version></properties> <!--slf4j及log4j2日志 --><dependency> ......

iborder
7分钟前
0
0
如何在Rancher 2.0上快速部署Datadog

Datadog是一种流行的托管监控解决方案,用于聚合和分析分布式系统的指标和事件。从基础架构集成到协作仪表板,Datadog为用户提供了一个简洁的单一窗格视图,用户可以快速查看对其最重要的信息...

RancherLabs
10分钟前
0
0
Java示例演示Functor 和monad

This article was initially an appendix in our Reactive Programming with RxJavabook. However introduction to monads, albeit very much related to reactive programming, didn't suit......

Quan全
28分钟前
0
0
微信官方jssdk Demo

1.html部分 <!DOCTYPE html><!-- saved from url=(0028){sh:$selfUrl} --><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"......

koloor
32分钟前
1
0
数据库命名规范

https://www.cnblogs.com/pangguoming/p/7126512.html 摘要:当前研发工作中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库表时,也会因为数据...

塔塔米
32分钟前
0
0
java https 请求工具类-通用

package com.ra.common.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintW......

轻量级赤影
33分钟前
0
0
MFC界面套包BCG Pro Edition for MFC正式发布v27.3|附下载

BCGControlBar Professional Edition for MFC是MFC的一个扩展库,您可以用来构建类似于Microsoft Office 2000/XP/2003/2007/2010/2013 和 Microsoft Visual Studio-like(打印、用户定制工具......

Miss_Hello_World
33分钟前
0
0
Spring Cloud云服务 - HongHu架构common-service 项目构建过程

上一篇我们介绍了《整合spring cloud云服务架构 - HongHu云架构common-service代码结构分析》,本节我们将对common-service整个项目进行剖析,将整个构建的流程给记录下来,让更多的关注者来...

itcloud
34分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部