1. 程式人生 > 其它 >Kafka-分割槽leader選舉

Kafka-分割槽leader選舉

  分割槽 leader 副本的選舉由控制器負責具體實施。當建立分割槽(建立主題或增加分割槽都有建立分割槽的動作〉或分割槽上線(比如分割槽中原先的 leader 副本下線,此時分割槽需要選舉 個新的leader 上線來對外提供服務)的時候都需要執行 leader 的選舉動作,對應的選舉策略為OfftlinePartitionLeaderElectionStrategy 這種策略的基本思路是按照 AR 集合中副本的順序查詢第一個存活的副本,並且這個副本在 ISR 集合中。 一個分割槽 AR 集合在分配的時候就被指定,並且只要不發生重分配的情況,集合內部副本的順序是保持不變的,而分割槽的 ISR 集合中副本的順序可能會改變。

  注意這裡是根據 AR 的順序而不是 ISR 的順序進行選舉的。舉個例子 叢集中有 個節

broker0 broker1 broker2 在某時刻具有 3個分割槽且副本因子為3的 主題 topic-leader的具體資訊如下