分区重新平衡和数据一致性

im9ewurl  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(527)

我使用的是Kafka0.8.1。
我使用kafka在处理集群中分发事件。
我正在使用一个主题和多个分区。
我关心的是Kafka的再平衡过程。目前我们的处理逻辑发生在运行Kafka消费者的机器上,所以我想知道在重新平衡的情况下会发生什么?
处理分区的新节点和旧节点之间避免竞争的最佳实践是什么?
处理结果最终会持久化到某个存储中,我想知道如何避免旧的使用者覆盖新的使用者更新。
在我使用auto.commit false的情况下,kafka是否保证在存在未提交的消息时不会重新平衡。
谢谢。

jvlzgdj9

jvlzgdj91#

我们也有这样的考虑,我想说最好的参考绝对是Kafka的源代码。
具体来说,当重新平衡发生时,kafka将首先关闭所有的获取程序,包括清除阻塞队列中未提交的消息,然后切换。因此存在使用者a(旧)和使用者b(新)使用来自同一分区的消息的时间。

相关问题