RocketMq简介以及名词概念

news2024/11/15 13:43:07

在这里插入图片描述


🎶 文章简介:RocketMq简介以及名词概念
💡 创作目的:简单介绍RocketMq的信息以及名词概念
☀️ 今日天气:
📝 每日一言:如果你执意追逐我的幻影,迟早会被真正的我打败。 --棋魂


文章目录

  • 😺 1、RocketMq介绍
    • 😸 1.1、RocketMq的特点
    • 😹 1.2、RocketMq的优势所在
  • 😼 2、Rocket名词概念
    • 😽 2.1、Topic 主题
    • 😻 2.2、Group 分组
    • 😾 2.3、Message Queue消息队列
    • 😿 2.4、Offset 偏移量
    • 🙀 2.5、Tag 标签

😺 1、RocketMq介绍

RocketMq作为一款纯java、分布式、队列模型的开源消息中间件,支持事务消息、顺序消息、批量消息、定时消息、消息回溯等。

😸 1.1、RocketMq的特点

  • 支持发布/订阅(Pub/Sub)和点对点(P2P)消息模型。

  • 在一个队列中可靠的先进先出(FIFO)和严格的顺序传递。(RocketMq可以严格的保证消息的顺序)

  • 支持推(Push) 和 拉(pull)两种消息模式。

    • 拉(pull)就是消费者拉去MQ中拉取消息,而push是MQ给消费者推送消息。
      
  • 单一队列百万消息的堆积能力(RocketMq提供亿级消息的堆积能力,而重点是在亿级消息堆积之后,依然保持写入低延迟)

  • 支持多种消息队列,如JMS、MQTT等等…

  • 分布式高可用架构,满足至少一次消息传递语句。

  • 提供Docker镜像用于隔离测试和云集群部署。

  • 提供配制、指标和监控等丰富的控制。

😹 1.2、RocketMq的优势所在

目前主流的 MQ 主要是 RocketMQ、ActiveMq、kafka、RabbitMQ,其主要优势有:

  • 支持事务型消息(消息发送和 DB 操作保持两方的最终一致性,RabbitMQ 和 Kafka 不支持)
  • 支持结合 RocketMQ 的多个系统之间数据最终一致性(多方事务,二方事务是前提)
  • 支持 18 个级别的延迟消息(Kafka 不支持)
  • 支持指定次数和时间间隔的失败消息重发(Kafka 不支持,RabbitMQ 需要手动确认)
  • 支持 Consumer 端 Tag 过滤,减少不必要的网络传输(即过滤由MQ完成,而不是由消费者完成。RabbitMQ 和 Kafka 不支持)
  • 支持重复消费(RabbitMQ 不支持,Kafka 支持)

😼 2、Rocket名词概念

还有一些名词概念如:**主题(Topic),分组(Group),消息队列(Message Queue),偏移量(Offset),标签(Tag)**等

image-20220620161432043

😽 2.1、Topic 主题

我们可以通过topic区标识一类消息,可以将消息分为不同主题。例如Topic A、Tocpic B等。在实际应用中可能会分为家电、衣物、视频等不同主题进行区分。

我们的Topic一般来说会挂载多个queue队列,这样在某种程度上可以提高我们消息队列的并发度。

读/写队列问题:
从物理上来讲,读写队列是同一个队列。

例如:创建Topic时,创建的写队列数量为8,而读队列的数量为4。此时系统会创建8个Queue,分别是0,1,2,3,4,5,6,7。Producer会将消息写入到这8个队列,但Consumer只会消费0,1,2,3这四个队列中的消息,而4,5,6,7中的消息是不会被消费到的。

例如:创建Topic时,创建的写队列数量为4,而读队列的数量为8。此时系统会创建8个Queue,分别是0,1,2,3,4,5,6,7。Producer会将消息写入到这0,1,2,3 这几个队列,但Consumer只会消费0,1,2,3,4,5,6,7中的消息是进行消费,但是4,5,6,7中是没有消息可以消费的。
这两种设计方式都是有问题的,但是这样设计的好处是什么呢?
其实这样设计的目的是为了方便Topic的queue缩容。

Perm: 用于设置当前创建的Topic的操作权限:2表示只读,4表示只写,6表示读写

😻 2.2、Group 分组

  • 生产者分组:标识同一类的消息的发送,生产者中的消息分组一般作用于事务消息。

  • 消费者分组:是对一类消息的消费,消费的逻辑大致上是一致的。

    • eg:
      消费者分组:  		   物流组                                  通知组
      				 物流的业务逻辑进行消费				    消息通知的业务逻辑进行消费
      

😾 2.3、Message Queue消息队列

Message Queue 即是 主题被划分为一个或多个子主题,而一条消息必须有一个主题(Topic),主题可以看做你要邮寄的地址,一条消息也可以拥有一个可选的Tag标签和额外的键值对。我们的生产者发布消息之后,会被Topic会分发到队列之中,而我们的消费者组就是区订阅消费指定的队列中的消息。

image-20220620164047772

😿 2.4、Offset 偏移量

一般来说是指MessageQueue中的偏移量,没有特别指出的话就是指我们消费者消费的数量。

🙀 2.5、Tag 标签

Tag标签相当于是子主题,他是消息的第二级别类型,用于为用户提供额外的灵活性。如果Topic比作是衣服,那么Tag就可以看做是风衣、短袖、短裤等等…


在这里插入图片描述

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

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

相关文章

Spring Cloud Sleuth Zpkin 简介

下载 zipkin-server-2.9.4-exec.jar zipkin-server-2.9.4-exec.jar Zipkin 简介 Spring Cloud Sleuth集成了非常强大的跟踪系统——Zipkin。Zipkin是Twitter开源的分布式跟踪系统。它的主要功能是收集系统的时序数据,从而追踪微服务架构的系统延时。 利用链路追…

微信小程序使用 iconfont 彩色图标(mini-program-iconfont-cli)

把 iconfont 图标批量转换成多个平台小程序的组件。不依赖字体,支持多色彩。 0 支持平台 微信小程序支付宝小程序百度小程序头条小程序(字节跳动)快手小程序QQ小程序 1 安装插件 npm install mini-program-iconfont-cli -D2 生成配置文件…

一次性能调优记录:压测报错out of memory内存溢出【杭州多测师_王sir】【杭州多测师】...

一次性能调优记录:压测报错out of memory内存溢出1、首先这是一段压测的报错日志截图 2、服务器的配置还不错,执行机全64核以上,运存256g以上,服务器80核,512g,所有机器线程数设置655360 3、刚开始以为是jm…

@ZBBIX集成LDAP功能实现用户统一登录认证

文章目录 1.zabbix认证方式2.LDAP模块查看3.windows AD配置4.zabbix配置LDAP5.开启LDAP账户登录6.AD账户登录测试7.AD账户批量添加zabbix8.数据库zabbix认证方式修改1.zabbix认证方式 zabbix6.0中,认证方式包含三种方式,如:LDAP、HTTP、SAML 实现ldap用户账户统一认证需要ad…

数据模型篇之维度设计

第10章 维度设计 1.维度设计基础 维度的基本概念 (1)维度是什么 维度是维度建模的基础和灵魂。在维度建模中,将度量称为“事实”,将环境描述为“维度”,维度是用于分析事实所需所需的多样环境。 (2&…

JS详解 | BOM | 系统性学习 | 无知的我费曼笔记

无知的我正在复盘js… 该笔记特点是 重新整理了涉及资料的一些语言描述、排版而使用了自己的描述对一些地方做了补充说明。比如解释专有名词、类比说明、对比说明、注意事项提升了总结归纳性。尽可能在每个知识点上都使用一句话 || 关键词概括更注重在实际上怎么应用提出并回答…

关于缓存与数据双写一致性问题(清晰易懂)

缓存与数据双写一致性问题 一般来说,执行更新操作时,我们会有两种选择: 先操作数据库,再操作缓存先操作缓存,再操作数据库 这两个操作要么同时成功,要么同时失败。所以,这会演变成一个分布式…

架构设计(五):有状态服务和无状态服务

架构设计(五):有状态服务和无状态服务 作者:Grey 原文地址: 博客园:架构设计(五):有状态服务和无状态服务 CSDN:架构设计(五)&…

批量查询搜狗收录,查询结果不准是什么原因

网站的收录情况是常用的技术手段,会影响到网站的流量和展现量,想要获得一个好的收录就必须重视原创内容,因为网站的收录直接影响力搜索引擎的关键词排名。 网站收录信息如何批量查询? 以搜狗收录为例: 1、打开SEO综合…

17 CPP面向对象编程

简单实用类: 1 类的成员函数可以直接访问该类其它的成员函数 2 类的成员函数可以重载。 3 类指针的用法与结构体指针用法相同 4 类的成员可以是任意数据类型(类中也可以有枚举) 5 可以为类的成员指定缺省值(C11标准&#xff…

Redis基础数据结构源码

1、SDS:动态字符串 src/sds.h:50 struct sdshdr {// 记录buf数组中已使用的字节数,即SDS字符串长度int len;// 记录buf数组中未使用的字节数int free;// 字节数组,用于保存字符串char buf[]; } 杜绝缓冲区溢出。减少修改字符串长度时所需的内…

概率统计·参数估计【区间估计】

置信区间 求解步骤 例 构造一个函数(主要是函数不用依赖未知量只有一个未知量,问μ的置信水平用这个函数,如果σ也未知,就要替换掉这个式子中的σ为S,并且变成服从 t 分布)取上下区间(用2个常数…

邪道方法-字典转字符串以传参字典给多GPU训练的mmseg

文章首发及后续更新:https://mwhls.top/4387.html,无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评,非常感谢! 目录引言 解决方法 引言 我想把字典传参给多GPU训练&#…

CleanMyMac X4.12.2版本功能实用性测评

相信大多数MAC用户都较为了解,Mac虽然有着许多亮点的性能,但是让用户叫苦不迭的还其硬盘空间小的特色,至于很多人因为文件堆积以及软件缓存等,造成系统空间内存不够使用的情况。于是清理工具就成为了大多数MAC用户使用频率较高的实…

他不知道他病了

没时间读书,关注我每天更新一本好书关于作者关于本书核心内容一、如何理解缺乏病识感二、沟通四步策略1.倾听2.同理心3.赞同4.结为伙伴三、如果仍然不接受治疗,怎么办金句关于作者 泽维尔阿玛多是纽约市哥伦比亚大学心理学副教授,全美精神障…

javaSE - StringBuffer 和 StringBuilder(字符串拼接)

前言 StringBuffer 、 StringBuilder、 String 是三种数据类型 首先来回顾下String类的特点: 任何的字符串常量都是String对象,而且String的常量一旦声明不可改变,如果改变对象内容,改变的是其引用的指向而已。通常来讲String的…

Oracle-expdp导出时间变长问题分析

前言: 近期处理了一起expdp导出时间变长的问题,在数据量没有较大增长的情况下,expdp导出时间发生倍数增长,后面分析发现是由于Bug 27634991导致在AMM,ASMM模式下,由于streams pool内存抖动触发了内存收缩,内存收缩的过…

jsp+ssm计算机毕业设计窗户管理系统【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

[附源码]Nodejs计算机毕业设计基于社区人员管理系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

【图像去噪】DCT图像去噪【含GUI Matlab源码 614期】

⛄一、图像去噪及滤波简介 1 图像去噪 1.1 图像噪声定义 噪声是干扰图像视觉效果的重要因素,图像去噪是指减少图像中噪声的过程。噪声分类有三种:加性噪声,乘性噪声和量化噪声。我们用f(x,y)表示图像,g(x,y&#xff0…