之前一直没有全面的整理,topic,队列,QueueData,broker之间的关系
尤其是不清楚两两之间关系是1:1的关系还是n:m的关系
本节主要围绕几个概念进行展开
topic
队列(MessageQueue)
QueueData
broker
topic是什么
Producer 向一些队列轮流发送消息,队列集合称为Topic (参照refer)
topic和队列的关系
topic和队列的关系.pngtopic和QueueData的关系
QueueData描述了一个topic对应的队列信息,包括读写队列数量,本身并没有队列
topic和queueData的关系
topic和broker的关系
topic通过QueueData的brokerName属性,关联到了broker,上图可以看出来
topic-A会在broker-a和broker-b上各有8个读写队列等
队列和QueueData的关系
QueueData描述了一个topic对应的队列MessageQueue信息,包括读写队列数量,本身并没有队列
一个QueueData相当于描述了多个MessageQueue,取决于QueueData属性readQueueNums,writeQueueNums
队列和broker关系
队列MessageQueue记录了brokerName
QueueData和broker关系
QueueData也记录了brokerName
存疑
QueueData描述的队列,具体是哪里创建的
目前认为是MQClientInstance#topicRouteData2TopicSubscribeInfo
看完源码这里再确认
refer
《RocketMq开发手册3.2.4》
网友评论