Kafka MQ 控制器 broker
1 控制器broker的選舉
在 Kafka 集群中會有一個或多個 broker,其中有一個 broker 會被選舉為控制器(Kafka Controller)?,它負責管理整個集群中所有分區和副本的狀態。當某個分區的leader副本出現故障時,由控制器負責為該分區選舉新的leader副本。當檢測到某個分區的ISR集合發生變化時,由控制器負責通知所有broker更新其元數據信息。當使用 kafka-topics.sh
腳本為某個topic增加分區數量時,同樣還是由控制器負責分區的重新分配。
Kafka中的控制器選舉工作依賴于ZooKeeper,成功競選為控制器的broker會在ZooKeeper中創建/controller這個臨時(EPHEMERAL)節點,此臨時節點的內容參考如下:
{"version":1,"brokerid":