在动物园管理员和卡夫卡的领导人选举

时间:2016-12-26 17:58:34

标签: apache-kafka apache-zookeeper master-slave

很长一段时间,一个问题困扰着我。我知道领袖选举存在于zookeeper中。假设我们有一个与Zookeeper集合相连的Kafka集群。

所以我的理解是,在Ensemble中有一个动物园管理员领导者,并且在Kafka集群中也有一些“分区领导者”。 Kafka分区领导者通过Zookeeper API选举产生。是不是?

另一个问题,主/从与领导/追随者基本相同吗?

2 个答案:

答案 0 :(得分:4)

  1. 动物园管理员领导人选举与卡夫卡分区领导人选举无关,反之亦然。
  2. 由控制器选举的Kafka分区负责人,Controller是注册的经纪人 首先在Zookeeper的路径/ Controller / 2,2中是broker.id。 当代理崩溃时,此代理中的领导者分区(或领导者副本)将由Controller切换,并且Controller将在ISR中选择一个副本作为分区领导者。 如果此分区脱机(所有副本不可用),则此分区不能用于写入或读取。如果设置Add...,则第一个可用的副本将被选为分区负责人,无论它是否在ISR中。 所以有些消息可能会丢失。
  3. 主/从可以看作与领导者/追随者相同。

答案 1 :(得分:2)

Kafka中的分区领导者选举不是通过zookeeper API完成的,实际上,alive assign replicas中的第一个副本将被选为每个分区的领导者。

至于主/从的东西,据我所知,许多开源已经用leader / replica或primary / replica替换旧的术语'master / slave',所以基本上它们是相同的。