赞
踩
1)Kafka 副本作用:提高数据可靠性。
2)Kafka 默认副本 1 个,生产环境一般配置为 2 个,保证数据可靠性;太多副本会增加磁盘存储空间,增加网络上数据传输,降低效率。
3)Kafka 中副本分为:Leader 和 Follower。Kafka 生产者只会把数据发往 Leader,然后 Follower 找 Leader 进行同步数据。
4)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 副本同步时,延迟过多的副本。
Kafka 集群中有一个 broker 的 Controller 会被选举为 Controller Leader,负责管理集群broker 的上下线,所有 topic 的分区副本分配和 Leader 选举等工作。
Controller 的信息同步工作是依赖于 Zookeeper 的。
如果 kafka 服务器只有 4 个节点,那么设置 kafka 的分区数大于服务器台数,在 kafka底层如何分配存储副本呢?
假如创建 16 分区,3 个副本
分区和副本分布的话,kafka会有自带的负载均衡功能,帮助我们更加平整均匀的分布。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。