我正在阅读Kafka文档并试图了解其工作原理。这是关于消费者的。简而言之,一个主题分为多个分区。有许多使用者组,每个使用者组都有许多使用者实例。现在,我的问题是,每个分区发送的消息是否向每个使用者组发送“相同”消息,然后又将消息发送给组中的特定使用者实例?
如果是的话,Kafka如何确保仅由一个消费者处理邮件?
如果我缺少什么,请引导我。
答案 0 :(得分:0)
简单地说:
我们将主题划分为多个分区。
我们有消费者使用这些主题中的数据。
通过共享相同的group.id,消费者成为消费者组的一部分。
从一个主题来看,每个分区都由一个消费者组中的一个消费者使用。
示例: 主题“测试”具有3个分区。 消费者A组:3名消费者 消费者组B:有2个消费者。
这两个消费者组A和B使用“测试”主题中的数据。
在组A中,每个使用者(因此3个)将各自使用一个分区,而在组使用者B(具有2个使用者)中,一个使用者将读取2个分区,另一个将读取最后一个分区。 如果我们的最后一个消费者组内部只有一个消费者,它将读取该主题的所有3个分区。
希望有帮助,如果您听不懂,请告诉我。