Kafka消费者分发未按预期工作

时间:2018-07-11 05:50:32

标签: apache-kafka partitioning consumer kafka-topic

我有三个主题,每个主题在kafka群集上具有三个分区。

现在,共有9个分区。当我创建9个消费者时... 6个处于闲置状态。仅使用了三个消费者。

期望是:每个使用者应拾取一个分区,因此,9个使用者应从9个分区拾取文档

但是发生的是: 一位消费者从不同主题之一的三个分区中提取消息。

例如我有三个主题Topic_A,Topic_B和Topic_C,每个都有三个分区。因此划分如下:

  

Topic_A_0,Topic_A_1,Topic_A_2,Topic_B_0,Topic_B_1,Topic_B_2,   Topic_C_0,Topic_C_1,Topic_C_2

当我创建9个消费者时, 分发方式如下:

on_model_delete

应该是

after_model_delete

我是否需要任何配置才能让所有9个消费者从9个唯一的parititon中提取消息?

2 个答案:

答案 0 :(得分:0)

确保您的所有消费者都在相同的消费者组ID下订阅相同的主题集。对于主题列表,您可以传递预定义的列表或正则表达式供使用者订阅。可以使用消费者中的group.id属性来设置消费者ID。

答案 1 :(得分:0)

默认分区分配策略不适用于所有主题,因此这是预期的行为。这里有一个类似的问题:Kafka Consumers are balanced across topics