卡夫卡消费者在各个主题之间保持平衡

时间:2018-07-12 10:17:31

标签: kafka-consumer-api

我正在创建6个具有相同组ID的消费者。所有消费者都在订阅2个主题,每个主题有3个分区。由于有2个主题有6个使用者和6个分区,因此我希望所有使用者都可以使用。但是我看不到所有的消费者都在使用,有没有办法强迫我重新平衡呢?

我正在使用kafka 0.10.2.0

1 个答案:

答案 0 :(得分:2)

没有跨主题在同一消费者组中为消费者分配分区。跟踪发生的事情... 您有t1_p0,t1_p1和t1_p2(主题1的分区)和t2_p0,t2_p1和t2_p2(主题2的分区)。然后,您有一个包含6个消费者c1,c2,... c6的消费者组。 当他们订阅topic1时,可能会发生c1,c2和c3获得t1_p0,t1_p1和t1_p2的情况。其他3个使用者(c4,c5,c6)空闲,因为没有足够的分区。 当相同的使用者订阅topic2时,可能会发生相同的情况:c1,c2和c3获得t1_p0,t1_p1和t1_p2;其他3个使用者(c4,c5,c6)空闲,因为没有足够的分区。 我知道您想让c4,c5和c6从主题2中获取这些分区,但是正如我所说的,分区分配不会跨主题发生,而是针对同一主题中的分区。 在这种情况下,您的c4,c5和c6处于空闲状态并且未被使用。

相关问题