rocketMq官网

http://rocketmq.apache.org/

rocketMq逻辑概念介绍

rocketMq逻辑图

备注
    改图片分享自李占卫的网上家园

说明

在rocketMq的中核心4组件为namesrv、broker、consumer、producer。

broker:消息存储中心,主要用来存储消息并通过namesrv对外提供服务。

namesrv:无状态的注册中心,功能用来保存broker的相关的元信息并提供给producer在发送消息过程中和提供给consumer消费消息过程中查找broker信息。

producer:消息生产者,通过namesrv获取broker的地址并发送消息。

consumer:消息消费者,通过namesrv获取broker的地址并消费消息。

rocketMq部署情况介绍

rocketMq部署图

 

rocketMq的集群概念细分

说明

rocketMq实际部署图,每个组件都可以用集群形式出现。

producer:通过producerGroup的名字来标记自己是一个集群。

consumer:通过consumerGroup的名字来标记自己是一个集群。

namesrv:相互之间无通信,通过部署多台机器来标记自己是一个伪集群。

broker:通过clusterName来标记集群,每个broker通过clusterName来表明cluster层面集群,通过brokerName来标明broker层面集群,通过brokerId标明主从身份。

rocketMq消息存储介绍

rocketMq消息存储

说明:

rocketMq的消息存储通过二级索引来进行,其中实际消息存储在Commit Log的逻辑队列中(磁盘文件消息顺序写),consume queue保存着每个消息消费队列的待消费的数据并且指向commit Log。

rocketMq线上配置介绍

rocketMq实际数据存储

说明:

rocketMq线上环境的真实存储,每个broker的存储数据格式就是类似上图。

config目录

consumerFilter:保存consumer端的消息过滤配置,应该是等消费端配置了过滤规则就会在这个文件中增加记录。

consumerOffset:消费进度偏移量,以topic@consumerGroup作区别,0:125的0代表队列,125代表消费偏移量。

consumerOffset

delayOffset:延迟队列消费进度,其中2代表延迟粒度,2000代表消费进度。

delayOffset

subscriptionGroup:表示订阅消费的消费组。

subscriptionGroup

topic:rocketMq中topic的信息,可以理解topic为业务消息分组的粒度,一般一个topic为一类业务的逻辑消息集合。

topic 

commitlog目录

rocketMq实际存储消息的位置。

consumequeue目录

%DLQ%@ConsumeGroupA:消费分组的死信队列,保存指向commit log的索引。

%RETRY%@ConsumeGroupA:消费分组的充实队列,保存指向commit log的索引。

SCHEDULE_TOPIC_XXXX:延迟消息队列,保存指向commit log的索引。

TOPICA:topic的消费队列存储,保存指向commit log的索引。

rocketMq概念介绍的更多相关文章

  1. 【阅读笔记】rocketmq 概念与架构 (一)

    介绍 rocketmq 框架与基本概念 1. 概念 1.1 namesrv(name server) 记录了 broker 集群信息,消息队列的信息以及 key-value 配置,见 RouteInf ...

  2. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

    集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...

  3. Linux LVM硬盘管理之一:概念介绍

    一.LVM概念介绍: LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻 ...

  4. Java SE/ME/EE的概念介绍

    转自 Java SE/ME/EE的概念介绍 多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用. ...

  5. java 并发多线程 锁的分类概念介绍 多线程下篇(二)

    接下来对锁的概念再次进行深入的介绍 之前反复的提到锁,通常的理解就是,锁---互斥---同步---阻塞 其实这是常用的独占锁(排它锁)的概念,也是一种简单粗暴的解决方案 抗战电影中,经常出现为了阻止日 ...

  6. Airflow Python工作流引擎的重要概念介绍

    Airflow Python工作流引擎的重要概念介绍 - watermelonbig的专栏 - CSDN博客https://blog.csdn.net/watermelonbig/article/de ...

  7. spring batch (一) 常见的基本的概念介绍

    SpringBatch的基本概念介绍 内容来自<Spring Batch 批处理框架>,作者:刘相. 一.配置文件 在项目中使用spring batch 需要在配置文件中声明: 事务管理器 ...

  8. helm-chart-1-简单概念介绍-仓库搭建-在rancher上的使用

    简单的概念介绍: Chart是helm管理的应用的打包格式,一个chart对应一个或一套应用.内部是一系列的yaml描述文件,以为为yaml 服务的文件. 三个部分,helm .tiller.repo ...

  9. Netty重要概念介绍

    Netty重要概念介绍 Bootstrap Netty应用程序通过设置bootstrap(引导)类开始,该类提供了一个用于网络成配置的容器. 一种是用于客户端的Bootstrap 一种是用于服务端的S ...

随机推荐

  1. 在浏览器地址栏输入URL,按下回车后究竟发生了什么?

    1.DNS 在浏览器中输入URL后,首先要进行DNS解析,DNS解析的顺序为: 浏览器缓存 本地hosts文件 系统缓存 路由器缓存 DNS服务器迭代查询 2.发送请求 通过DNS得到目标的IP地址后 ...

  2. ORACLE不可见索引(Invisible Indexes)

    不可见索引概念 不可见索引(Invisible Index)是ORACLE 11g引入的新特性.不可见索引是会被优化器忽略的不可见索引,除非在会话或系统级别上将OPTIMIZER_USE_INVISI ...

  3. GOF23种设计模式精解

    创建型 1. Factory Method(工厂方法) 2. Abstract Factory(抽象工厂) 3. Builder(建造者) 4. Prototype(原型) 5. Singleton( ...

  4. 笔记︱金融风险控制基础常识——巴塞尔协议+信用评分卡Fico信用分

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本笔记源于CDA-DSC课程,由常国珍老师主讲 ...

  5. R语言︱线性混合模型理论与案例探究(固定效应&随机效应)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 线性混合模型与普通的线性模型不同的地方是除了有 ...

  6. 部署Java Web项目报错(一)

    今天,我在部署Java Web项目时,出现错误,并且在eclipse新建一个servers,却出现多个项目. 具体错误截图如下: 然后,我又将项目部署到JBoss服务器中,却还是运行不成功 22:12 ...

  7. (八)java垃圾回收和收尾

    垃圾回收机制:当一个对象不再被引用时,或者说当一个对象的引用不存在时,我们就认为该对象不再被需要,它所占用的内存就会被释放掉.     垃圾回收只是在程序执行过程中偶尔发生,java不同的运行时刻会产 ...

  8. java.lang.ArrayIndexOutOfBoundsException

    1.错误描述 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at com.you.m ...

  9. Visual Studio 2012 和 SVN 结合实现版本控制 AnkhSvn

    第一步: 安装VisualSVN Server Manager. 下载地址:http://www.onlinedown.net/soft/89603.htm 第二步: 安装TortoiseSVN.注意 ...

  10. 三十天学不会TCP,UDP/IP网络编程 - 绅士的开始

    经过了过年的忙碌和年初的懈怠一切的日子,我又开始重新更新了~这是最新的一篇~完整版可以去gitbook(https://www.gitbook.com/@rogerzhu/)看到. 如果对和程序员有关 ...