我正在阅读Kafka文档并试图了解其工作原理

时间:2018-12-13 19:24:06

标签: apache-kafka kafka-consumer-api kafka-producer-api

我正在阅读Kafka文档并试图了解其工作原理。这是关于消费者的。简而言之,一个主题分为多个分区。有许多使用者组,每个使用者组都有许多使用者实例。现在,我的问题是,每个分区发送的消息是否向每个使用者组发送“相同”消息,然后又将消息发送给组中的特定使用者实例?

如果是的话,Kafka如何确保仅由一个消费者处理邮件?

如果我缺少什么,请引导我。

1 个答案:

答案 0 :(得分:0)

简单地说:

  1. 我们将主题划分为多个分区。

  2. 我们有消费者使用这些主题中的数据。

  3. 通过共享相同的group.id,消费者成为消费者组的一部分。

  4. 从一个主题来看,每个分区都由一个消费者组中的一个消费者使用。

示例: 主题“测试”具有3个分区。 消费者A组:3名消费者 消费者组B:有2个消费者。

这两个消费者组A和B使用“测试”主题中的数据。

在组A中,每个使用者(因此3个)将各自使用一个分区,而在组使用者B(具有2个使用者)中,一个使用者将读取2个分区,另一个将读取最后一个分区。 如果我们的最后一个消费者组内部只有一个消费者,它将读取该主题的所有3个分区。

希望有帮助,如果您听不懂,请告诉我。