RocketMQ高手之路系列:开篇

简介: 本篇是RocketMQ源码阅读的开篇,主要对RocketMQ的架构以及相关目录结构进行介绍,为RocketMQ的源码阅读做一些前期准备工作。源码下载源码结构介绍RocketMQ架构

引言

本篇是RocketMQ源码阅读的开篇,主要对RocketMQ的架构以及相关目录结构进行介绍,为RocketMQ的源码阅读做一些前期准备工作。

  • 源码下载
  • 源码结构介绍
  • RocketMQ架构


一、源码下载

1、源码下载地址:

 https://github.com/apache/rocketmq

2、点击绿色按钮出现源码下载项,点击蓝色按钮进行源码下载:

image.png

3、下载好后进行源码解压,使用Idea进行源码导入,导入后如下图所示:

image.png

二、源码结构介绍

image.png

如上图所示,RocketMQ的主要源码结构包括rocketmq-broker,rocketmq-client,rocketmq-common,rocketmq-filter,rocketmq-namesrv和rocketmq-remoting等模块,各个模块的主要作用如下:

rocketmq-remoting:封装MQ的通信框架,基于netty实现底层的通信;

rocketmq-broker:MQ系统的核心部件,提供轻量级的主题和队列机制来进行消息存储,包括相应的容错机制,它用来接收producer以及consumer的请求,支持集群部署、同步双写、异步双写等模式,可实现消息的持久化处理;

rocketmq-client:MQ的客户端,也就是producer以及consumer的统称;

rocketmq-filter:消息过滤服务;

rocketmq-store:存储层实现,包括索引服务等;

rocketmq-common:模块间的通用功能单元,配置文件、常量等;

rocketmq-distribution:脚本、配置模块,RocketMQ编译时,bin目录,benchmark目录,conf目录都是从这个模块编译输出;

rocketmq-namesrv:NameServer,类似服务注册中心,broker在这里注册,consumer和producer在这里找到broker地址

rocketmq-srvutil:只有一个ServerUtil类,只提供Server程序依赖,尽可能减少客户端依赖


三、RocketMQ架构

RocketMq具有低延迟、高性能、高可靠性、万亿级别的信息容量以及灵活的可扩展性。它主要由四个部分组成:名称服务器、代理、消息生产者、消息消费者,其中每一个部分都可以进行水平扩展,保证高可用。在RocketMq的官网中找到其架构图如下所示:

image.png

NameServer主要包含两个特性:

1、Broker管理:NameServer从Broker集群中接收其的注册信息,并且通过心跳机制来检测Broker集群是否存活;

2、路由管理:每个NameServer都保存了有关Broker集群的整个路由信息以及供客户端查询的队列信息;


Broker Server主要负责消息的存储和传递、消息查询以及HA等等功能

Broker Server中包含的子模块如下所示:

image.png

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
18天前
|
消息中间件 存储 Java
吃透 RocketMQ 消息中间件,看这篇就够了!
本文详细介绍 RocketMQ 的五大要点、核心特性及应用场景,涵盖高并发业务场景下的消息中间件关键知识点。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
吃透 RocketMQ 消息中间件,看这篇就够了!
|
3月前
|
消息中间件 存储 Java
分享一下rocketmq入门小知识
分享一下rocketmq入门小知识
51 0
分享一下rocketmq入门小知识
|
5月前
|
消息中间件 存储 物联网
RocketMQ基础概念
RocketMQ基础概念
55 1
|
5月前
|
消息中间件 存储 缓存
技术好文:RocketMQ之一:RocketMQ整体介绍
技术好文:RocketMQ之一:RocketMQ整体介绍
64 0
|
6月前
|
消息中间件 Cloud Native 自动驾驶
RocketMQ实战教程之MQ简介
Apache RocketMQ 是一个云原生的消息流平台,支持消息、事件和流处理,适用于云边端一体化场景。官网提供详细文档和下载资源:[RocketMQ官网](https://rocketmq.apache.org/zh/)。示例中提到了RocketMQ在物联网(如小米台灯)和自动驾驶等领域的应用。要开始使用,可从[下载页面](https://rocketmq.apache.org/zh/download)获取软件。
|
消息中间件 存储 Java
消息中间件第一讲:RocketMQ从入门到精通
消息中间件第一讲:RocketMQ从入门到精通
440 2
|
消息中间件 Java Maven
RocketMQ 入门使用
RocketMQ 入门使用
220 1
|
消息中间件 存储 Java
RocketMq-入门篇
前言 你在工作中是否遇到过这些问题?系统平时访问流量平平,在某个时间段好像决堤似的突增?上下游执行链路长,重要和不重要的执行内容混在一起,层层嵌套?面对高并发时,下游系统无法承载海量的调用量,影响上游响应……如果你也有,那就和我一起来学习rocketMq吧,据说rocketMq能帮我们很好的解决这些问题。
306 0
|
消息中间件 Kafka RocketMQ
消息中间件(RocketMQ)笔记
分布式消息中间件,主要是实现分布式系统中解耦、异步消息、流量销锋、日志处理等场景。生产中用的最多的消息队列有Activemq,rabbitmq,kafka,rocketmq等。 以 Jms 规范和 rocketmq 为主来分享。版本基于 3.2.6 。 主要分享:JMS规范、Rocketmq的介绍、部署方式、特性的一些使用。
消息中间件(RocketMQ)笔记
|
消息中间件 搜索推荐 Java
【深入浅出之透析RocketMQ原理及实战指南】精讲RocketMQ是什么 | 带你真正认识RocketMQ
【深入浅出之透析RocketMQ原理及实战指南】精讲RocketMQ是什么 | 带你真正认识RocketMQ
237 0
【深入浅出之透析RocketMQ原理及实战指南】精讲RocketMQ是什么 | 带你真正认识RocketMQ