當控制器發(fā)現(xiàn)一個首領已經(jīng)離開集群,控制器遍歷分區(qū),并確定誰應該成為新首領(簡單來說就是分區(qū)副本列表里的下一個副本),然后向所有包含新首領和現(xiàn)有跟隨者的broker發(fā)送請求。
該請求消息包含了誰是新首領以及誰是分區(qū)跟隨者的信息。隨后,新首領開始處理來自生產(chǎn)者和消費者的請求,而跟隨者開始從新首領那里復制消息。
當控制器發(fā)現(xiàn)一個broker加入集群時,它會使用brokerID來檢查新加入的broker是否包含現(xiàn)有分區(qū)的副本。如果有,控制器就把變更通知發(fā)送給新加入的broker和其他broker,新broker上的副本開始從首領那里復制消息。