RocketMQ(二)——基本概念

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RocketMQ(二)——基本概念相关的知识,希望对你有一定的参考价值。

参考技术A

Topic表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。
topic:message 1:n
message:topic 1:1

一个生产者可以同时发送多种Topic消息;而一个消费者只对某种特定的Topic感兴趣,即只可以订阅和消费一种Topic消息。
producer:topic 1:n
consumer:topic 1:1

Topic是消息的一级分类,Tag是消息的二级分类

存储消息的物理实体。一个Topic中可以包含多个Queue,每个Queue中存放的是该Topic的消息。一个Topic的Queue也被称为一个Topic中消息的 分区(Partition)
一个Topic的Queue中的消息只能被一个消费者组中的一个消费者消费。一个Queue中的消息不允许同一个消费者组中的多个消费者同时消费

分片(sharding)
分片不同于分区。在RocketMQ中,分片指的是存放相应Topic的Broker。每个分片中会创建出相应数量的分区,即Queue,每个Queue的大小是相同的。

RocketMQ中每个消息拥有唯一的MessageID,且可以携带具有业务标识的Key,以方便对消息的查询。不过需要注意的是,MessageID有两个:在生产者send()消息时会自动生成一个MessageID(msgId),当消息到达Broker后也会自动生成一个MessageId(offsetMsgId)。
msgId、offsetMsgId与key都称为消息标识。

以上是关于RocketMQ(二)——基本概念的主要内容,如果未能解决你的问题,请参考以下文章

RocketMQ系列基本概念

rocketmq基本概念

RocketMQ中的基本概念

rocketmq的基础概念

RocketMQ概念篇

rocketmq源码分析:基本使用