44. 源代码解读-RocketMQ-架构

简介:

1. 前言

1.1 github源代码

https://github.com/apache/rocketmq

1.2 github其他客户端,比如c++,php

https://github.com/apache/rocketmq-externals

1.3 运行进程

RocketMQ分成两个进程运行

  • Namesrv
  • Broker

Namesrv,命名服务,主要负责Broker状态管理,Topic路由信息查询等等,端口是9876
Broker负责消息存储,转发,等等,一般占用3个端口
10911 -- Broker主逻辑端口
10912 -- 持久化端口
10909 -- vip端口

另外,Namesrv可以集群配置,各个Namesrv之间是对等的,彼此不通信,不需要互相通信。
Broker可以以单master, 多master,多master多slave等多种方式运行。

2. 代码结构

2.1 代码模块

44. 源代码解读-RocketMQ-架构

2.2 模块简介

  1. rocketmq-broker 主要的业务逻辑,消息收发,主从同步, pagecache等等
  2. rocketmq-client 客户端接口,比如生产者和消费者。pull和push消费模式,消息负载均衡等等。
  3. rocketmq-common 公用数据结构等等
  4. rocketmq-distribution 编译模块,编译输出等
  5. rocketmq-example 示例,比如生产者和消费者
  6. rocketmq-fliter
  7. rocketmq-flitersrv
  8. rocketmq-logappender 日志相关
  9. rocketmq-namesrv Namesrv服务
  10. rocketmq-openmessaging
  11. rocketmq-remoting 远程调用接口,封装Netty,主要是NettyRemotingServer和NettyRemotingClient
  12. rocketmq-srvutil server util,提供一些公用的工具方法,比如解析命令行参数
  13. rocketmq-store 消息存储
  14. rocketmq-test 测试
  15. rocketmq-tools 管理工具,比如有名的mqadmin工具


     本文转自rongwei84n 51CTO博客,原文链接:http://blog.51cto.com/483181/2043857 ,如需转载请自行联系原作者



相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
3月前
|
消息中间件 存储 JSON
RocketMQ-初体验RocketMQ(05)_RocketMQ架构解读
RocketMQ-初体验RocketMQ(05)_RocketMQ架构解读
40 0
|
10天前
|
消息中间件 存储 数据库
RabbitMQ入门指南(二):架构和管理控制台的使用
RabbitMQ是一个高效、可靠的开源消息队列系统,广泛用于软件开发、数据传输、微服务等领域。本文主要介绍了RabbitMQ架构和管理控制台的使用等内容。
31 0
RabbitMQ入门指南(二):架构和管理控制台的使用
|
1月前
|
消息中间件 存储 Cloud Native
深度剖析 RocketMQ 5.0,架构解析:云原生架构如何支撑多元化场景?
了解 RocketMQ 5.0 的核心概念和架构概览;然后我们会从集群角度出发,从宏观视角学习 RocketMQ 的管控链路、数据链路、客户端和服务端如何交互;学习 RocketMQ 如何实现数据的存储,数据的高可用,如何利用云原生存储进一步提升竞争力。
140040 2
|
1月前
|
消息中间件 缓存 API
|
3月前
|
消息中间件 存储 网络协议
MQ - 09 RabbitMQ的架构设计与实现
MQ - 09 RabbitMQ的架构设计与实现
64 0
|
4月前
|
消息中间件 存储 容灾
9个问答牢记RocketMQ架构
RocketMQ是Java兄弟们常用的消息中间件,虽说常用,但对于RocketMQ架构经常忘记。究其原因就2点:忙于业务开发然后长时间不看则忘了、不理解架构设计的根本原因记不牢。本文用大白话描述架构设计过程,牢记RocketMQ架构。
9个问答牢记RocketMQ架构
|
4月前
|
消息中间件 Java Apache
使用Idea部署RocketMq 源代码(4.9.4)
使用Idea部署RocketMq 源代码(4.9.4)
63 0
使用Idea部署RocketMq 源代码(4.9.4)
|
7月前
|
消息中间件 存储 监控
RocketMQ 的基本概念、架构设计、特点以及适用场景
RocketMQ 的基本概念、架构设计、特点以及适用场景
500 0
RocketMQ 的基本概念、架构设计、特点以及适用场景
|
7月前
|
消息中间件 程序员 Apache
阿里RocketMQ创始人首次分享出这份RocketMQ技术内幕神级架构手册
RocketMQ的发展史? RocketMQ的开源正是源于对这种开源文化的认同,开放是为了更好的协同创新,并将这一技术推向新的高度。在经历了阿里巴巴集团内部多年“双11”交易核心链路工业级场景在验证,2016年11月,团队将RocketMQ捐献给全球享有盛誉的Apache软件基金会正式质为孵化项目。 至此,RocketMQ开启了迈向全球顶级开源软件的新征程。
|
8月前
|
消息中间件 存储 负载均衡
RocketMQ 5.0 架构解析:如何基于云原生架构支撑多元化场景
RocketMQ 5.0 架构解析:如何基于云原生架构支撑多元化场景