rocketMq概念介绍
rocketMq官网
http://rocketmq.apache.org/
rocketMq逻辑概念介绍
![](http://upload-images.jianshu.io/upload_images/6302559-44e8478907e758d8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
备注:
改图片分享自李占卫的网上家园
说明:
在rocketMq的中核心4组件为namesrv、broker、consumer、producer。
broker:消息存储中心,主要用来存储消息并通过namesrv对外提供服务。
namesrv:无状态的注册中心,功能用来保存broker的相关的元信息并提供给producer在发送消息过程中和提供给consumer消费消息过程中查找broker信息。
producer:消息生产者,通过namesrv获取broker的地址并发送消息。
consumer:消息消费者,通过namesrv获取broker的地址并消费消息。
rocketMq部署情况介绍
![](http://upload-images.jianshu.io/upload_images/6302559-e017e68f261d7bc9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/6302559-a51c7f797c9368ee.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
说明:
rocketMq实际部署图,每个组件都可以用集群形式出现。
producer:通过producerGroup的名字来标记自己是一个集群。
consumer:通过consumerGroup的名字来标记自己是一个集群。
namesrv:相互之间无通信,通过部署多台机器来标记自己是一个伪集群。
broker:通过clusterName来标记集群,每个broker通过clusterName来表明cluster层面集群,通过brokerName来标明broker层面集群,通过brokerId标明主从身份。
rocketMq消息存储介绍
![](http://upload-images.jianshu.io/upload_images/6302559-09495c7337e2d910.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
说明:
rocketMq的消息存储通过二级索引来进行,其中实际消息存储在Commit Log的逻辑队列中(磁盘文件消息顺序写),consume queue保存着每个消息消费队列的待消费的数据并且指向commit Log。
rocketMq线上配置介绍
![](http://upload-images.jianshu.io/upload_images/6302559-86b2bab2a187ef25.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
说明:
rocketMq线上环境的真实存储,每个broker的存储数据格式就是类似上图。
config目录
consumerFilter:保存consumer端的消息过滤配置,应该是等消费端配置了过滤规则就会在这个文件中增加记录。
consumerOffset:消费进度偏移量,以topic@consumerGroup作区别,0:125的0代表队列,125代表消费偏移量。
![](http://upload-images.jianshu.io/upload_images/6302559-d10dd49cf2c9e7bf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
delayOffset:延迟队列消费进度,其中2代表延迟粒度,2000代表消费进度。
![](http://upload-images.jianshu.io/upload_images/6302559-32270f3bd8d4f0e5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
subscriptionGroup:表示订阅消费的消费组。
![](http://upload-images.jianshu.io/upload_images/6302559-5d5224bab6021fbc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
topic:rocketMq中topic的信息,可以理解topic为业务消息分组的粒度,一般一个topic为一类业务的逻辑消息集合。
![](http://upload-images.jianshu.io/upload_images/6302559-6a947773111d4ff4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
commitlog目录
rocketMq实际存储消息的位置。
consumequeue目录
%DLQ%@ConsumeGroupA:消费分组的死信队列,保存指向commit log的索引。
%RETRY%@ConsumeGroupA:消费分组的充实队列,保存指向commit log的索引。
SCHEDULE_TOPIC_XXXX:延迟消息队列,保存指向commit log的索引。
TOPICA:topic的消费队列存储,保存指向commit log的索引。
转载于:https://www.cnblogs.com/lebron374/p/8635657.html
rocketMq概念介绍相关推荐
- cocos2d-x一些核心概念介绍
cocos2d-x一些核心概念介绍 Cocos2d-x中有很多概念,这些概念很多来源于动画.动漫和电影等行业,例如:导演.场景和层等概念,当然也有些有传统的游戏的概念.Cocos2d-x中核心概念:导 ...
- FPGA之道(75)静态时序分析(一)基本概念介绍
文章目录 前言 基本概念介绍 常用时间参数介绍 tsu 建立时间要求 建立时间余量 th 保持时间要求 保持时间余量 tco Maximum frequency (or Minimum period) ...
- Lesson 13.2 模型拟合度概念介绍与欠拟合模型的结构调整策略
一.模型拟合度概念介绍与实验 1.测试集的"不可知"悖论 通过此前课程内容介绍,我们已经知道了机器学习模型主要通过模型在测试集上的运行效果来判断模型好坏,测试集相当于是&quo ...
- linux块设备驱动(一)——块设备概念介绍
linux块设备驱动(一)--块设备概念介绍 本文来源于: 1. http://blog.csdn.net/jianchi88/article/details/7212370 2. http://bl ...
- c语言 activemq,activemq概念介绍
ActiveMQ概念介绍 是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,消息中间件. 消息中间件: A传递消息到B(功能或者系统),有比较强的耦合 ...
- HTML/CSS学习笔记01【概念介绍、基本标签】
w3cschool菜鸟教程.CHM(腾讯微云):https://share.weiyun.com/c1FaX6ZD HTML/CSS学习笔记01[概念介绍.基本标签.表单标签][day01] HTML ...
- 《统计自然语言处理》读书笔记 一.基础知识及概念介绍
最近准备学习自然语言处理相关的知识,主要参考<统计自然语言处理·宗成庆>和<Natural Language Processing with Python>,推荐大家阅读.第一 ...
- DNS术语,组件和概念介绍
DNS术语,组件和概念介绍 2014年2月18日发布 255.4k个意见 DNS 概念LINUX基础常见问题 介绍 DNS或域名系统往往是学习如何配置网站和服务器的一个非常困难的部分.了解DNS如何工 ...
- SQL语言基础:数据库语言概念介绍
1.概念介绍 SQL(Structured Query Lanauage)结构化查询语言是关系数据库中最普遍使用的语言.主要包括查询.数据操纵.数据定义.数据控制功能,是一种通用的.功能强大的关系数据 ...
最新文章
- SQLServer2014 安装错误:等待数据库引擎恢复句柄失败
- canopy算法 java_mahout源码canopy算法分析之二CanopyMapper
- mysql binlog 回退_MYSQL Binglog分析利器:binlog2sql使用详解
- iis下php 500错误
- [单选题]?php echo ceil(2.1/0.7); ?
- Atomic包的4种类型详解
- 【java设计模式】之 工厂(Factory)模式
- [CentOS]CentOS下编译CPP文件时报错[undefined reference to `__gxx_personality_v0' collect2: ld]的解决办法...
- mysql系列:登陆和退出
- 调查全球 98,000 名程序员发现,PHP 遭厌弃,前端岗已饱和!
- 医院管理系统(Java)
- 内存部分重要参数详解
- 数据分析系列:Z 检验和 T 检验的应用及代码实现
- 微微一笑很倾城(3)
- python html跨平台尝试Eel
- MySQL的异步、半异步、组复制
- 苹果和老降噪芯片合作商分手: iPhone 5 Siri 有变?
- nodejs发送邮件
- 2023-01-18 工作记录--React-手写日历+JS-计算某一日期对应一周的日期
- [转载]ExtJs4 笔记(10) Ext.tab.Panel 选项卡