Kafka15:Kafka副本

Kafka15:Kafka副本

1. 副本基本信息

  1. Kafka 副本作用:提高数据可靠性 。
  1. Kafka 默认副本 1 个,生产环境一般配置为 2 个,保证数据可靠性;太多副本会增加磁盘存储空间,增加网络上数据传输,降低效率。
  1. Kafka 中副本分为: Leader 和 Follower 。 Kafka 生产者只会把数据发往 Leader,然后 Follower 找 Leader 进行同步数据。
  1. Kafka 分区中的所有副本统称为 AR (Assigned Repllicas )。 AR=ISR+ OSR ISR,表示 和 Leader 保持同步的 Follower 集合。 如果 Follower 长时间未向 Leader 发送通信请求或同步数据,则该Follower 将被踢出ISR。该时间阈值由replica.lag.time.max.ms 参数设定,默认30s。Leader 发生故障之后,就会从ISR 中选举新的Leader。 OSR,表示Follower 与Leader 副本同步时,延迟过多的副本。

2. Leader选举流程

Kafka 集群中有一个broker 的Controller 会被选举为Controller Leader,负责管理集群broker 的上下线,所有topic 的分区副本分配和Leader 选举等工作。 Controller 的信息同步工作是依赖于Zookeeper 的。
notion image