rocketMq概念介绍
rocketMq官网
rocketMq逻辑概念介绍
备注:
改图片分享自李占卫的网上家园
说明:
在rocketMq的中核心4组件为namesrv、broker、consumer、producer。
broker:消息存储中心,主要用来存储消息并通过namesrv对外提供服务。
namesrv:无状态的注册中心,功能用来保存broker的相关的元信息并提供给producer在发送消息过程中和提供给consumer消费消息过程中查找broker信息。
producer:消息生产者,通过namesrv获取broker的地址并发送消息。
consumer:消息消费者,通过namesrv获取broker的地址并消费消息。
rocketMq部署情况介绍
说明:
rocketMq实际部署图,每个组件都可以用集群形式出现。
producer:通过producerGroup的名字来标记自己是一个集群。
consumer:通过consumerGroup的名字来标记自己是一个集群。
namesrv:相互之间无通信,通过部署多台机器来标记自己是一个伪集群。
broker:通过clusterName来标记集群,每个broker通过clusterName来表明cluster层面集群,通过brokerName来标明broker层面集群,通过brokerId标明主从身份。
rocketMq消息存储介绍
说明:
rocketMq的消息存储通过二级索引来进行,其中实际消息存储在Commit Log的逻辑队列中(磁盘文件消息顺序写),consume queue保存着每个消息消费队列的待消费的数据并且指向commit Log。
rocketMq线上配置介绍
说明:
rocketMq线上环境的真实存储,每个broker的存储数据格式就是类似上图。
config目录
consumerFilter:保存consumer端的消息过滤配置,应该是等消费端配置了过滤规则就会在这个文件中增加记录。
consumerOffset:消费进度偏移量,以topic@consumerGroup作区别,0:125的0代表队列,125代表消费偏移量。
delayOffset:延迟队列消费进度,其中2代表延迟粒度,2000代表消费进度。
subscriptionGroup:表示订阅消费的消费组。
topic:rocketMq中topic的信息,可以理解topic为业务消息分组的粒度,一般一个topic为一类业务的逻辑消息集合。
commitlog目录
rocketMq实际存储消息的位置。
consumequeue目录
%DLQ%@ConsumeGroupA:消费分组的死信队列,保存指向commit log的索引。
%RETRY%@ConsumeGroupA:消费分组的充实队列,保存指向commit log的索引。
SCHEDULE_TOPIC_XXXX:延迟消息队列,保存指向commit log的索引。
TOPICA:topic的消费队列存储,保存指向commit log的索引。
rocketMq概念介绍的更多相关文章
- 【阅读笔记】rocketmq 概念与架构 (一)
介绍 rocketmq 框架与基本概念 1. 概念 1.1 namesrv(name server) 记录了 broker 集群信息,消息队列的信息以及 key-value 配置,见 RouteInf ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...
- Linux LVM硬盘管理之一:概念介绍
一.LVM概念介绍: LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻 ...
- Java SE/ME/EE的概念介绍
转自 Java SE/ME/EE的概念介绍 多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用. ...
- java 并发多线程 锁的分类概念介绍 多线程下篇(二)
接下来对锁的概念再次进行深入的介绍 之前反复的提到锁,通常的理解就是,锁---互斥---同步---阻塞 其实这是常用的独占锁(排它锁)的概念,也是一种简单粗暴的解决方案 抗战电影中,经常出现为了阻止日 ...
- Airflow Python工作流引擎的重要概念介绍
Airflow Python工作流引擎的重要概念介绍 - watermelonbig的专栏 - CSDN博客https://blog.csdn.net/watermelonbig/article/de ...
- spring batch (一) 常见的基本的概念介绍
SpringBatch的基本概念介绍 内容来自<Spring Batch 批处理框架>,作者:刘相. 一.配置文件 在项目中使用spring batch 需要在配置文件中声明: 事务管理器 ...
- helm-chart-1-简单概念介绍-仓库搭建-在rancher上的使用
简单的概念介绍: Chart是helm管理的应用的打包格式,一个chart对应一个或一套应用.内部是一系列的yaml描述文件,以为为yaml 服务的文件. 三个部分,helm .tiller.repo ...
- Netty重要概念介绍
Netty重要概念介绍 Bootstrap Netty应用程序通过设置bootstrap(引导)类开始,该类提供了一个用于网络成配置的容器. 一种是用于客户端的Bootstrap 一种是用于服务端的S ...
随机推荐
- RISC_CPU
采用Top-Down设计方法,深入理解CPU的运作原理,本文参照夏宇闻老师的<Verilog 数字系统设计教程>,并做了相应的修改.仿真工具采用Mentor公司的ModelSim. 1.C ...
- R语言︱决策树族——随机森林算法
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:有一篇<有监督学习选择深度学习 ...
- php session 和cookie
先简单的说明下session和cookie的区别. 1.session存放在服务器的文件中,或者是内存中.而cookie存在客服端. 2.session比cookie安全 3.session存放在服务 ...
- Java中用正则表达式判断日期格式是否正确
1.Java中用正则表达式判断日期格式是否正确 DateType.java: /** * @Title:DateType.java * @Package:com.you.dao * @Descript ...
- freemarker入门实例
freemarker入门实例 1.设计思路 (1)新建Maven Project (2)生成freemarker模板 (3)写freemarker页面ftl文件 (4)写测试文件 2.新建Maven ...
- Django学习-11-请求相关信息
requests对象是由类创建的 from django.core.handlers.wsgi import WSGIRequest --> 类 request.environ中封装了请求 ...
- 2016四川省赛 Floyd-Warshall
这题真的有毒 首先你忽略 N-M < 100 的条件你就gg吧 其次就算你知道了怎么做之后 还有可能因为写vector或者各种常数大的原因被卡 #include<iostream> ...
- iOS - Mac 常用设置
1.Finder 中显示资源库 方法一: 在 "终端" 中输入下面的命令: 显示: $ chflags nohidden ~/Library/ 隐藏: $ chflags hidd ...
- 异常-----freemarker.template.TemplateException: Error executing macro: write
freemarker自定义标签 1.错误描述 六月 05, 2014 11:31:35 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严 ...
- C#图解教程 第二十三章 预处理指令
预处理指令 什么是预处理指令基本规则#define和#undef指令条件编译条件编译结构诊断指令行号指令区域指令#pragma warning 指令 预处理指令 什么是预处理指令 源代码指定了程序的定 ...