
一个分区的leader和所有的follower组成一个ISR集合。
当follower发生故障时,会将该follower临时踢出ISR,直至follower恢复后,follower会从本地获取上次记录的HW,将log文件高于HW的都截取掉。重新向leader同步数据,直到该follower的LEO大于等于该分区的HW,即追上leader,就会重新加入ISR。
当leader发生故障时,会在ISR中重新选举一个leader,为了保证数据的一致性,其他follower会将log文件中高于HW的部分截取掉,再同步leader中的数据。需要注意的是,这只会保证副本之间数据的一致性,并不能保证数据不丢失或者不重复。

博客介绍了Kafka中分区ISR集合的相关知识。当follower故障时,会被临时踢出ISR,恢复后截取log文件高于HW部分,重新同步数据追上leader后再加入。当leader故障,会在ISR中重选leader,其他follower截取高于HW部分再同步,仅保证副本数据一致。

7985

被折叠的 条评论
为什么被折叠?



