我有三个主题,每个主题在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中提取消息?
答案 0 :(得分:0)
确保您的所有消费者都在相同的消费者组ID下订阅相同的主题集。对于主题列表,您可以传递预定义的列表或正则表达式供使用者订阅。可以使用消费者中的group.id
属性来设置消费者ID。
答案 1 :(得分:0)
默认分区分配策略不适用于所有主题,因此这是预期的行为。这里有一个类似的问题:Kafka Consumers are balanced across topics