Kafka在多台计算机上复制主题的分区以实现容错。 每个分区都有一个领导者和一个或多个粉丝。
我想知道Kafka如何选择将成为可能候选人中每个主题/分区的追随者的机器?
例如,假设有1个主题有3个分区{A,B,C},复制因子为3.Kafka运行超过6台机器{1,2,...,6}
一个可能的任务是:
1 2 3 4 5 6
A B C
C A B
B C A
但以下也是可能的:
1 2 3 4 5 6
A B C
A B C
A B C
当然,有很多可能的任务。
有谁能让我知道Kafka是如何做到的?
由于
答案 0 :(得分:1)
您可以查看github上的Kafka源代码,了解默认情况下它如何进行副本分配 - https://github.com/apache/kafka/blob/0.10.0/core/src/main/scala/kafka/admin/AdminUtils.scala#L47-L106