【技海登峰】Kafka漫谈系列(二)Kafka高可用副本的数据同步与选主机制
一. 数据同步
有了副本Replica
的概念,我们还需要面临一个设计难题即:如何处理分区中Leader
与Follwer
节点数据同步不匹配问题所带来的风险,这也是保证数据高可用的一个方面。
1. ISR伸缩机制
-
ISR(In-Sync Replica): 同步副本队列,表示当前存活且与
Leader
数据相差不大的分区副本ID列表,其包括Leader
和Follower
(如果没有Leader
则表示Leader
挂掉了),是Replicas
的一个子集。所谓相差不大是指与Leader
数据同步差距在一定范围内,在Kafka 0.10
之前有replica.lag.max.message
(延迟条数)和replica.lag.time.max.ms
(延迟时间)两个配置参数决定当前