我想知道同一消费者组中的消费者如何从只有一个分区的主题中读取消息。
例如,我在一个消费者组中有3个消费者,该消费者组正在轮询来自具有分区A的主题A的消息,因此,如果我在主题A中有1000条消息逐个到达,它将如何传递给3个消费者。
- 会不会是3条消息并行地传递给3个消费者,一旦每个消费者处理完,另一个消费者就会被传递,基本上他们会并行地接收消息吗?
- 如果只有一个分区,是否会有任何一个消费者获取这些消息?
请告诉我上述场景的最佳架构方法。
谢谢,
我想并行处理来自一个主题的多个消息,该主题有一个分区到4个消费者。
我正在使用kafka结构与kafkajs微服务包。
在您的场景中,该消费者组中只有一个消费者将读取数据,很可能是您启动的第一个消费者。我不是100%确定,因为我从来没有尝试过,但我认为额外的消费者只是没有工作负载。
这个问题和你的问题基本相同。
如果你想实现消费者的并行性,你不能避免有多个分区,这是整个分区概念的主要目的。