前言
通过之前的篇章,我们了解到kafka集群中存在一个leader,这个leader目前来说,通常是谁先注册到zk中,即在broker的ids节点中的第一位,就是leader
但是在某些情况下,比如网络故障、服务器异常宕机时,leader所在的kafka实例可能就挂掉了,一旦出现这种情况,kafka集群将会重新选举出一个leader,下面通过演示来说明写leader选举的完整过程
kafka leader选举过程
Kafka 集群中有一个 broker 的 Controller 会被选举为 Controller Leader,负责管理集群broker 的上下线,所有 topic 的分区副本分配和 Leader 选举等工作。
Controller
的信息同步工作是依赖于
Zookeeper
的,有了之前从ZK中了解各个节点的作用后,下面用一张图说明下ZK的leader选举过程