转载:https://blog.csdn.net/binzhaomobile/article/details/73332463
RocketMQ概念模型
一 前言
二 概念模型
1 Topic
2 Broker,Producer和Consumer
3 Topic,Topic分片和Queue (重要)
对应上图,TopicA有3个Topic分片,分布在Broker1,Broker2和Broker3上,TopicB有2个Topic分片,分布在Broker1和Broker2上,TopicC有2个Topic分片,分布在Broker2和Broker3上。
每个Topic分片等分的Queue的数量可以不同,由用户在创建Topic时指定。
RocketMQ 在进行Topic分片以后,已经达到水平扩展的目的了,为什么还需要进一步切分为Queue呢?
Rocket MQ的负载均衡策略规定:Consumer数量应该小于等于Queue数量,如果Consumer超过Queue数量,那么多余的Consumer 将不能消费消息。
这样的分配规则,每个Queue只有一个消费者,可以避免消费过程中的多线程处理和资源锁定,有效提高各Consumer消费的并行度和处理效率。
文章来源: RocketMQ概念模型(good)