RocketMq名词概念

简介: RocketMq名词概念

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

image-20220620161432043

2.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.2、Group 分组

  • 生产者分组:标识同一类的消息的发送,生产者中的消息分组一般作用于事务消息。
  • 消费者分组:是对一类消息的消费,消费的逻辑大致上是一致的。

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

2.2.3、Message Queue 消息队列

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

image-20220620164047772

2.2.4、Offset 偏移量

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

2.2.5、Tag 标签

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

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
3月前
|
消息中间件 中间件 数据安全/隐私保护
RabbitMQ 的核心概念
RabbitMQ 的核心概念
27 2
|
1月前
|
消息中间件 负载均衡 算法
【RocketMQ系列十二】RocketMQ集群核心概念之主从复制&生产者负载均衡策略&消费者负载均衡策略
【RocketMQ系列十二】RocketMQ集群核心概念之主从复制&生产者负载均衡策略&消费者负载均衡策略
48 2
|
1月前
|
消息中间件 NoSQL 关系型数据库
【RocketMQ系列十三】RocketMQ的集群核心概念之消费重试&死信队列&幂等消息的出现以及处理
【RocketMQ系列十三】RocketMQ的集群核心概念之消费重试&死信队列&幂等消息的出现以及处理
43 1
|
1月前
|
消息中间件 存储 RocketMQ
【RocketMQ系列十】RocketMQ的核心概念说明
【RocketMQ系列十】RocketMQ的核心概念说明
28 1
|
2月前
|
消息中间件 存储 物联网
RocketMQ基础概念
RocketMQ基础概念
33 1
|
3月前
|
消息中间件 存储 Apache
RocketMQ实战教程之常见概念和模型
Apache RocketMQ 实战教程介绍了其核心概念和模型。消息是基本的数据传输单元,主题是消息的分类容器,支持字节、数字和短划线命名,最长64个字符。消息类型包括普通、顺序、事务和定时/延时消息。消息队列是实际存储和传输消息的容器,是主题的分区。消费者分组是一组行为一致的消费者的逻辑集合,也有命名限制。此外,文档还提到了一些使用约束和建议,如主题和消费者组名的命名规则,消息大小限制,请求超时时间等。RocketMQ 提供了多种消息模型,包括发布/订阅模型,有助于理解和优化消息处理。
|
2月前
|
消息中间件 存储 中间件
【主流技术】聊一聊消息队列 RocketMQ 的基本结构与概念
2.6Broker 代理服务器(Broker)是消息中转角色,负责存储消息、转发消息。代理服务器在 RocketMQ 系统中负责接收从生产者发送来的消息并存储、同时为消费者的拉取请求作准备。代理服务器也存储消息相关的元数据,包括消费者组、消费进度偏移和主题和队列消息等。 2.7Pull Consumer 拉取式消费(Pull Consumer)是 Consumer 消费的一种类型,也是默认的类型。下游应用系统通常主动调用 Consumer 的拉消息方法从 Broke r服务器拉消息,即主动权由下游应用控制。一旦获取了批量消息,应用就会启动消费过程。
|
3月前
|
消息中间件 Java API
RabbitMQ(基础概念, 简单使用)(下)
RabbitMQ(基础概念, 简单使用)
37 0
|
3月前
|
消息中间件 存储 Java
RabbitMQ(基础概念, 简单使用)(中)
RabbitMQ(基础概念, 简单使用)
19 0
|
3月前
|
消息中间件 存储 中间件
RabbitMQ(基础概念, 简单使用)(上)
RabbitMQ(基础概念, 简单使用)
43 0