瞭解分割區領導權

每一個分割區在叢集中都有一部伺服器用來作為分割區的領導者,而其他伺服器則作為追隨者。 分割區的所有產生及取用要求都由領導者處理。 追隨者會抄寫領導者的分割區資料,目的是要跟上領導者。 如果追隨者跟上分割區的領導者,則追隨者的抄本是同步的。

當訊息傳送至分割區領導者時,消費者無法立即取用該訊息。 領導者會將訊息記錄附加至分割區,為其指派該分割區的下一個偏移數。 在同步抄本的所有追蹤者抄寫記錄並確認已將記錄寫入其抄本之後,該記錄現在已 確定。 此訊息可供消費者使用。

如果分割區的領導者失敗,則其中一個含有同步抄本的追隨者會自動接管成為分割區的領導者。 實際上,每部伺服器都是部分分割區的領導者,也是其他分割區的追隨者。 指定新的領導者抄本的程序稱為領導者選舉。 分割區的領導權是動態的,隨著伺服器的來來去去而變更。

應用程式不需要採取特定的動作來處理分割區領導權的變更。 Kafka 用戶端程式庫會自動重新連接至新的主導器,雖然在叢集設定時延遲會增加。