Kafka分区再平衡的预期时间是多少?



当一个新的Consumer加入组时,Partition rebalance需要多长时间?什么因素会影响这一点?

在我的理解中,这些因素起作用:

  1. 消费者需要完成对上次轮询数据的处理。
  2. 协调器等待消费者发送JoinGroup请求-等待多长时间?
  3. 消费者发送同步组请求(接收JoinGroup响应和发送同步组请求之间是否有延迟)

在正常情况下,假设消费者立即处理数据,分区再平衡应该发生多长时间?

  1. Coordinator最多等待rebalance.timeout.ms(默认为1分钟)。如果消费者在此期间没有加入,则认为它已死亡。但是如果所有的消费者在此之前重新加入,协调器将不会再等待(我的假设)。
  2. 消费者在收到JoinGroup响应后立即发送同步组。Leader需要更多的时间(执行分区分配逻辑)。

来源:https://www.confluent.io/online-talks/everything-you-always-wanted-to-know-about-kafkas-rebalance-protocol-but-were-afraid-to-ask-on-demand/

最新更新