Kafka副本
副本基本信息
1)Kafka副本作用,提高数据可靠性
2)Kafka默认副本1个,生产环境一般配置2个,保证数据可靠性,太多副本会增加磁盘存储空间,增加网络上数据传输,降低效率
3)Kafka中副本份为:Leader和Follower,kafka生产者只会把数据发往Leader,然后Follower找Leader进行同步数据
4)Kafka分区中的所有副本统称为AR
AR=ISR+OSR
ISR,表示和Leader保持同步的集合Follower集合。如果Follower长时间未向Leader发送通信请求和同步数据,则该Follower将被踢出ISR,该事件阈值由replica.lag.time.max.ms参数设定,默认30s,leader发送故障之后,就会从ISR中选举新的leader
OSR,表示Follower与Leader副本同步时,延迟过多的副本
Leader选举流程
kafka集群中有一个broker的Controller会被选举为Controller Leader,复制管理集群broker的上下线,所有topic的分区副本分配和Leader选举等工作
controller的信息同步工作是依赖于Zookeeper的。