Kafka 0.9.1 - 对消费者分配的不均衡分区

时间:2016-09-26 23:25:42

标签: apache-kafka kafka-consumer-api

我有一个包含16个分区的主题。

我还有24个消费者线程(每个进程每个进程8个)订阅了同一个主题。此配置可确保为消费者分配提供足够的1:1分区空间。并且一些备用消费者接管以防过程死亡

但是在kafka重启(许多人中的一个)期间,我不知何故最终处于一个16个分区的状态,其中只分配了12个消费者线程。

6 partitions to 4 consumers on Box 1

5 partitions to 4 consumers on Box 2

5 partitions to 4 consumers on Box 3

我相信每个盒子上至少有一些其他消费者仍然活跃

因此,很少有消费者超负荷导致更大的滞后。

我最初认为这是由于kafka重新平衡,但似乎并非如此。我使用默认的RangeAssigner。我不相信RoundRobinAssigner会有任何改变,因为我只有一个主题。 (如果我对循环分配器有误,请随意纠正我)

如何确保消费者分配的分区始终一致?

如果您有任何见解,我们将不胜感激。

0 个答案:

没有答案