首先需要了解消费组的概念。在消费者中消费组的有非常重要的作用,如果多个消费者设置了相同的Consumer Group(GroupName相同),我们认为这些消费者在同一个消费组内。
在 Apache RocketMQ 有两种消费模式,分别是:
- 集群消费模式(Clustering):当使用集群消费模式时,RocketMQ 认为任意一条消息只需要被消费组内的任意一个消费者处理即可。
- 广播消费模式(Broadcasting):当使用广播消费模式时,同一个消费组里的每个消费者都能消费到所订阅Topic的全部消息,也就是一条消息会被多次分发,被多个消费者消费。
1.集群消费模式
集群消费模式适用于每条消息只需要被处理一次的场景,也就是说同一个消费组里面所有的消费者消费的内容合起来才是所订阅Topic内容的整体,因此可以通过扩缩消费者数量,来提升或降低消费能力,具体示例如下图所示,是最常见的消费方式。

2.广播消费模式
广播消费模式适用于每条消息需要被消费组的每个消费者处理的场景,也就是说消费组内的每个消费者都会收到订阅Topic的全量消息,因此即使扩缩消费者数量也无法提升或降低消费能力,具体示例如下图所示。
