谁在 Kafka 中管理 ISR?

Who manages ISR in Kafka?

我知道 Kafka 有 ISR 机制来管理 leader-follower 数据复制,但我只是想知道究竟是谁更新了 ISR?

对于每个分区,当前领导者跟踪和管理当前同步副本。追随者向领导者发送 Fetch 请求以检索记录。这使领导者能够跟踪每个追随者的位置并确定哪些是同步的。

在 Kafka 2.7 之前,每个领导者都会在 ZooKeeper 中更新其分区状态 znode。现在(使用 KIP-497) when the in-sync replicas change, leaders send an AlterISR request 到控制器,它是负责更新 ZooKeeper 的控制器。