RocketMq 顺序消费、分区消息、延迟发送消息、Topic、tag分类 实战(基本概念) (一)

1、RocketMq基本概念
Topic
消息主题,一级消息类型,通过Topic对消息进行分类。更多信息,请参见Topic与Tag最佳实践。
消息(Message)
消息队列中信息传递的载体。
Message ID
消息的全局唯一标识,由云消息队列 RocketMQ 版系统自动生成,唯一标识某条消息。
Message Key
消息的业务标识,由消息生产者(Producer)设置,唯一标识某个业务逻辑。
Tag
消息标签,二级消息类型,用来进一步区分某个Topic下的消息分类。更多信息,请参见Topic与Tag最佳实践。
Producer
消息生产者,也称为消息发布者,负责生产并发送消息。
Producer实例
Producer的一个对象实例,不同的Producer实例可以运行在不同进程内或者不同机器上。Producer实例线程安全,可在同一进程内多线程之间共享。
Consumer实例
Consumer的一个对象实例,不同的Consumer实例可以运行在不同进程内或者不同机器上。一个Consumer实例内配置线程池消费消息。
Group
一类Producer或Consumer,这类Producer或Consumer通常生产或消费同一类消息,且消息发布或订阅的逻辑一致。
Group ID
Group的标识。
队列(Message Queue)
即Topic Partition,物理上的概念。每个Topic包含一个或多个队列。创建Topic时队列由系统自动分配,不支持自定义修改。
集群消费
一个Group ID所标识的所有Consumer平均分摊消费消息。例如某个Topic有9条消息,一个Group ID有3个Consumer实例,那么在集群消费模式下每个实例平均分摊,只消费其中的3条消息
广播消费
一个Group ID所标识的所有Consumer都会各自消费某条消息一次。例如某个Topic有9条消息,一个Group ID有3个Consumer实例,那么在广播消费模式下每个实例都会各自消费9条消息。
定时消息
Producer将消息发送到云消息队列 RocketMQ 版服务端,但并不期望这条消息立马投递,而是推迟到在当前时间点之后的某一个时间投递到Consumer进行消费,该消息即定时消息。
延时消息
Producer将消息发送到云消息队列 RocketMQ 版服务端,但并不期望这条消息立马投递,而是延迟一定时间后才投递到Consumer进行消费,该消息即延时消息。
事务消息
云消息队列 RocketMQ 版提供类似XA或Open XA的分布事务功能,通过云消息队列 RocketMQ 版的事务消息能达到分布式事务的最终一致。
顺序消息
云消息队列 RocketMQ 版提供的一种按照顺序进行发布和消费的消息类型,分为全局顺序消息和分区顺序消息。
全局顺序消息
对于指定的一个Topic,所有消息按照严格的先入先出(FIFO)的顺序进行发布和消费。
分区顺序消息
对于指定的一个Topic,所有消息根据Sharding Key进行区块分区。同一个分区内的消息按照严格的FIFO顺序进行发布和消费。Sharding Key是顺序消息中用来区分不同分区的关键字段,和普通消息的Message Key是完全不同的概念。
消息堆积
Producer已经将消息发送到云消息队列 RocketMQ 版的服务端,但由于Consumer消费能力有限,未能在短时间内将所有消息正确消费掉,此时在云消息队列 RocketMQ 版的服务端保存着未被消费的消息,该状态即消息堆积。
消息过滤
Consumer可以根据消息标签(Tag)对消息进行过滤,确保Consumer最终只接收被过滤后的消息类型。消息过滤在云消息队列 RocketMQ 版的服务端完成。
消息轨迹
在一条消息从Producer发出到Consumer消费处理过程中,由各个相关节点的时间、地点等数据汇聚而成的完整链路信息。通过消息轨迹,您能清晰定位消息从Producer发出,经由云消息队列 RocketMQ 版服务端,投递给Consumer的完整链路,方便定位排查问题。
死信队列
死信队列用于处理无法被正常消费的消息。当一条消息初次消费失败,云消息队列 RocketMQ 版会自动进行消息重试;达到最大重试次数后,若消费依然失败,则表明Consumer在正常情况下无法正确地消费该消息。此时,云消息队列 RocketMQ 版不会立刻将消息丢弃,而是将这条消息发送到该Consumer对应的特殊队列中。
消息路由
消息路由常用于不同地域之间的消息同步,保证地域之间的数据一致性。云消息队列 RocketMQ 版的全球消息路由功能依托阿里云优质基础设施实现的高速通道专线,可以高效地实现不同地域之间的消息同步复制。
以上基本概念链接来自:
https://help.aliyun.com/zh/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-4-x-series/product-overview/terms?spm=a2c4g.11186623.0.0.77d8395bADOQft

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/759240.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对https://registry.npm.taobao.org/tyarn的请求失败,原因:证书过期

今天安装tyarn时,报错如下: request to https://registry.npm.taobao.org/tyarn failed, reason: certificate has expired 原来淘宝镜像过期了,需要重新搞一下 记录一下解决过程: 1.查看当前npm配置 npm config list 2.清空…

持续集成平台 01 jenkins 入门介绍

拓展阅读 Devops-01-devops 是什么? Devops-02-Jpom 简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件 代码质量管理 SonarQube-01-入门介绍 项目管理平台-01-jira 入门介绍 缺陷跟踪管理系统,为针对缺陷管理、任务追踪和项目管理的商业…

JAVAEE多线程——锁

文章目录 什么是锁为什么需要锁如何加锁synchorized 的使用synchronized 修饰方法synchronized 修饰代码块 死锁问题那种场景会造成死锁死锁的本质由于内部存在无限循环导致的死锁 死锁的第二种情况哲学家吃饭模型造成死锁的必要条件 什么是锁 首先我们来解释一下什么是锁呢&a…

如何利用MySQL建立覆盖原表的索引优化查询性能

MySQL数据库中,建立合适的索引对于提高查询性能至关重要。然而,在某些情况下,我们可能需要进一步优化查询性能,而覆盖索引(Covering Index)就是一种有效的方法。本文将介绍什么是覆盖索引以及如何在MySQL中…

SpringBoot整合Xxl-Job

一、下载Xxl-Job源代码并导入本地并运行 Github地址:GitHub - xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB) 中文文档地址:分布式任务调度平台XXL-JOB 1.使用Idea或Eclipse导入 2.执行sql脚本(红色标记…

机器学习_神经网络

文章目录 简介反向传播小结 简介 为了构建神经网络模型,我们需要首先思考大脑中的神经网络是怎样的?每一个神经元都可以被认为是一个处理单元/神经核,它含有许多输入/树突,并且有一个输出/轴突。神经网络是大量神经元相互链接并通…

【笔试】互联网校招技术研发岗 非技术岗笔试准备方向

【笔试】互联网校招技术研发岗笔试准备方向 文章目录 1、研发:软件开发(选择)2、研发:非技术题(选择)3、研发:编程题4、产品、运营、项目、视觉、设计、交互5、人力、财务、行政、咨询、管理6、…

计算机网络简答题:复试+期末

文章目录 1.计算机网络的功能:2.计算机网络的分类:3.主机间的通信方式:4.电报交换、报文交换、分组交换的区别:5.计算机网络的性能指标:6.0SI模型和TCP/IP模型:7.通信信通的方式:8.端到端的通信与点到点通信的区别:9.同步通信和异步通信:10.频分复用、时分复用、波分复用和码分…

H5 与 App、网页之间的通信

前言 本文整理工作中 H5 嵌入 Android、iOS 与 PC 网页后,如何与各端通信。(提供 H5 端的代码) 环境判断 const ua navigator.userAgent.toLowerCase()const isAndroid /android/i.test(ua)const isIos /iphone|ipod|ios/i.test(ua)cons…

笔试题——得物春招实习

开幕式排练 题目描述 导演在组织进行大运会开幕式的排练,其中一个环节是需要参演人员围成一个环形。演出人员站成了一圈,出于美观度的考虑,导演不希望某一个演员身边的其他人比他低太多或者高太多。 现在给出n个参演人员的身高,问…

使用Pygame做一个乒乓球游戏(2)使用精灵重构

本节没有添加新的功能,而是将前面的功能使用精灵类(pygame.sprite.Sprite) 重构。 顺便我们使用图片美化了一下程序。 看到之前的代码,你会发现代码有点混乱,很多地方使用了全局变量(global)。 本节我们将使用类进行重构。 Block(Sprite)…

NCV7428D15R2G中文资料PDF数据手册参数引脚图图片价格概述参数芯片特性原理

产品概述: NCV7428 是一款系统基础芯片 (SBC),集成了汽车电子控制单元 (ECU) 中常见的功能。NCV7428 为应用微控制器和其他负载提供低电压电源并对其进行监控,包括了一个 LIN 收发器。 产品特性: 控制逻辑3.3 V或5 V VOUT电源&…

每天一个数据分析题(二百二十)

在集成学习的GBDT算法中,每次训练新的决策树的目的是( )? A. 预测原始数据的标签 B. 预测上一个模型的残差 C. 降低模型的偏差 D. 降低模型的方差 题目来源于CDA模拟题库 点击此处获取答案

python练习3

用户登录注册案例 while True: print("\t\t\t英雄商城登录界面\n") print("~*"*38) print("\t\t\t1.用户登录\n") print("\t\t\t2.用户注册\n") print("\t\t\t3.退出系统\n") print("~*"*38) choice input("…

Spark-Scala语言实战(4)

在之前的文章中,我们学习了如何在scala中定义无参,带参以及匿名函数。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 Spark-Scala语言…

四、HarmonyOS应用开发-ArkTS开发语言介绍

目录 1、TypeScript快速入门 1.1、编程语言介绍 1.2、基础类型 1.3、条件语句 1.4、函数 1.5、类 1.6、模块 1.7、迭代器 2、ArkTs 基础(浅析ArkTS的起源和演进) 2.1、引言 2.2、JS 2.3、TS 2.4、ArkTS 2.5、下一步演进 3、ArkTs 开发实践…

Verilog基础:always结构和initial结构

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 always和initial是Verilog中的核心,它们被称为结构(construct),用于组织语句的执行方式。下面将分别对这两者进行阐述。 always结构 图1是…

弹框el-dialog title展示不下,鼠标hover显示tip

el-dialog title展示不下&#xff0c;鼠标hover显示tip <el-dialog:visible.sync"shows":close-on-click-modal"false"v-dialogDragwidth"520px"><template #title><div class"custom-title"><el-tooltipplaceme…

【文件操作和IO】

文件操作和IO 1.文件2. 硬盘上文件的目录结构3. 文件路径4. 文件重要分类&#xff1a;5. Java中操作文件5.1 Java对于文件操作的API5.2 Java中使用File类来进行文件操作5.3 File类属性5.4 构造方法5.5 方法&#xff1a; 6. 文件内容的读写 -- 文件流&#xff08;数据流&#xf…

Apache Superset

前言 最近在准备一个小的项目&#xff0c;需要对 Hive 的数据进行展示&#xff0c;所以想到了把 Hive 的数据导出到 MySQL 然后用 Superset 进行展示。 Superset 1.1 Superset概述 Apache Superset是一个现代的数据探索和可视化平台。它功能强大且十分易用&#xff0c;可对接…