卡夫卡与群体的消费模式

时间:2014-06-09 22:20:02

标签: apache-kafka

我试图通过Kafka 0.8.1.1了解可能的消费模式。让我们忽略复制,因为我不相信它会影响这些模式。我为所有测试运行了命令行控制台消费者。

请您确认我的理解是否正确?

1)一个主题,多个分区m,许多消费者n,m => n,没有定义任何组。

  

在这种情况下,每个消费者都会收到关于该主题的每条消息。

2)一个主题,许多分区m,许多消费者n的m小于n,没有定义任何组。

  

同样的行为。每个消费者都会收到有关该主题的每条消息。

3)一个主题,许多分区m,许多消费者n,m只有一个,为所有消费者定义的一个消费者群体

  

我看到"没有消费者线程使用的代理分区"在其中一个消费者控制台上。 这是因为消费者多于分区吗? (在这种情况下,m = 3,n = 4)

4)一个主题,许多分区m,许多消费者n,m = n,为所有消费者定义的一个消费者群体

  

从使用Kafka Monitor,我看到现在每个分区都分配给一个消费者。但是,似乎数据消费没有并行性。我所看到的是,一个消费者从分区P1获取从时间t0到t1的消息。然后另一个消费者从分区P2获取从t1到t2的消息,依此类推。

为什么没有并行消费?在我看来,生产者的数据从t0到t1进入P1,然后从t1到t2进入P2。我认为如果我不指定分区键,生产者的数据将被随机分区。只是随机性似乎被延迟了#34;为什么会这样?

1 个答案:

答案 0 :(得分:4)

我认为这两个链接可以帮助您了解正在发生的事情:

Should I choose multiple group ids or a single one for the consumers?

Why some of the consumers in a consumer group never receive any message?

如果您没有指定分区键,它将不是随机的,但它会在一段时间内粘贴一个分区一段时间,然后在下一个句点循环到另一个分区。默认时间段为10分钟,但 我认为 您可以使用topic.metadata.refresh.interval.ms更改它