全站最硬核 百万字强肝RocketMq源码 火热更新中~(一百零七)RocketMQ基本概念

RocketMq基本概念

消息(Message)

消息是消息系统传输信息的物理载体,同时也是生产和消费数据的最小单元

注意:每条消息必须属于一个主题topic

主题(Topic)

Topic表示一类消息的集合,每个主题包含若干队列,每个队列包含若干条消息。

每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。

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

标签(Tag)

为消息设置的标签,用于同一主题topic下区分不同类型的消息。来自同一业务单元的消息,可以根据不同业务目的在同一主题下设置不同标签。标签能够有效地保持代码的清晰度和连贯性,并优化RocketMQ提供的查询系统。消费者可以根据Tag实现对不同子主题的不同消费逻辑,实现更好的扩展性。

队列(Queue)

存储消息的物理实体。一个Topic中可以包含多个Queue(默认是4个),每个Queue中存放的就是该Topic的消息。一个Topic的Queue在某些其他队列产品中也被称为消息的分区(Partition)。

在集群模式下,一个Topic的Queue中的消息只能被一个消费者组中的一个消费者消费。一个Queue中的消息不允许同一个消费者组中的多个消费者同时消费。

广播模式下,一个Topic的Queue中的消息会被所有消费者消费。

消息标识(MessageId/Key)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值