基础架构
上面这张图类比RocketMQ 相当于对一个主题进行了分区(类似于RockeMQ 消息队列),每个分区存储到不同的Broker。在发送消息的时候都是发送到主分区。如果一台Broker由于其它节点备份了挂掉节点的数据,所以可以继续进行消费,从而保证了整个集群的高可用性。
在进行消费数据的时候:
- 如果消费者组中的消费者数量等于分区数量,则消费者组里面的每个消费是分别订阅一个分区的。
- 如果消费组中的消费者数量小于分区的数量, 这个时候肯定有一个消费者需要消费多一个分区的消息。
- 如果消费者组中的消费者比分区数还多,则存在一个消费者没有数据的情况,这个时候这个消费者处于空闲状态。