任何人都可以解释并指导我链接或资源来阅读有关卡夫卡消费者在以下场景中如何工作的信息。
一个消费者组有5个消费者,主题有3个分区(kafka如何决定)
一个Consumer group有5个consumer,topic有10个partition(kafka如何分担负载)
两个消费者组,每个消费者组有 1 个消费者,kafka 集群有 2 个服务器,其中一个主题在节点 1 和节点 2 之间进行分区,当来自不同组的消费者订阅一个分区时,如何避免重复。
上述可能不是配置 kafka 时的最佳实践,但我需要知道它是如何处理的。
提前致谢。
分配分区的不是Kafka本身,而是消费者之一。第一个加入消费者组的消费者将被选为“领导者”,我们将开始将分区分配给其他消费者。当然,每次有新的消费者加入该组时,Kafka“控制器”都会让领导者消费者知道这一点,并开始重新平衡重新分配分区。消费者离开消费组也是一样的。
为了确认消费者参与其中,分区分配的策略由partition.assignment.strategy消费者配置中的属性指定。默认值为 ,RangeAssignor其他值为RoundRobinAssignor和StickyAssignor。您可以在这里找到有关它们如何工作的更多信息:
https://kafka.apache.org/21/javadoc/org/apache/kafka/clients/consumer/RangeAssignor.html https://kafka.apache.org/21/javadoc/org/apache/kafka/clients/consumer /RoundRobinAssignor.html https://kafka.apache.org/21/javadoc/org/apache/kafka/clients/consumer/StickyAssignor.html
话说回来,在你的场景中具体会发生什么?
| 归档时间: |
|
| 查看次数: |
10462 次 |
| 最近记录: |