当消费者有多个分区时,如何在Kafka中消费消息?

时间:2016-02-29 14:20:13

标签: apache-kafka

这是关于Kafka以及如何消费消息的一个非常基本的问题,但不幸的是,我无法在这一点上找到任何答案:'(。

让我们说我想过分区,所以我会得到比消费者多10倍的分区。需要过分区,因为我希望能够扩展(将来并行处理更多消息)。

1个主题划分为100个消费者消耗的1000个分区= - >每个消费者被分配10个分区。

我的问题是:

  • 如何为每个消费者消费消息:它是以循环方式完成的吗?如果没有,分发是如何完成的?

  • 是否可以保证消费者在分配给它们的10个分区之间均匀消费消息?是否存在某些分区永远不会消耗的风险?

我在这一点上找不到任何答案。抱歉,如果它重复了!

1 个答案:

答案 0 :(得分:1)

  • 消息的消费是在分配给消费者的分区集之间以循环方式完成的。

  • 不,不能保证消息将在分区之间平均消耗。在KIP-41的文档中,当您可以指定消息数时,您可以看到explanation如何工作