如果将新分区添加到Kafka主题,那么消费者抵消会发生什么?

时间:2015-03-27 00:00:13

标签: apache-kafka

添加新分区时,消费者抵消会怎样?它保持不变吗?

2 个答案:

答案 0 :(得分:4)

是的,它保持不变。

分别为每个分区保留一个偏移量,因此新分区的偏移量将从0开始,不会影响其他偏移量。

答案 1 :(得分:4)

假设您正在谈论高级消费者/消费者群体,消费者抵消保持不变,因为抵消特定于分区。因此,消费者将在开始或结束时或在 t 时开始使用新分区,具体取决于配置的起始偏移量。例如,如果消费者已经消耗了分区1中的100000和分区2中的120000,则在添加第三个分区时,消费者将在一段时间后通过轮询发现新分区,并仅重置该新分区的偏移量。

在更改主题中的分区集时要记住的一件重要事情是热点。如果向主题添加新分区,历史消息仍将分布在旧分区中,因此假设您使用基本循环/散列分区,旧分区中的数据将远远大于数据中的数据。新分区,直到所有分区都变得足够大,以便删除旧分区的旧段。