ISR 是什么
ISR,是 In-Sync Replicas,同步副本的意思
在 Kafka中,每个主题分区可以有多个副本(replica)。ISR 是与主副本(Leader Replica)保持同步的副本集合。
ISR 的作用
ISR 机制就是用于确保数据的可靠性和一致性的。
数据一致性保证:
当消息被写入 Kafka 的分区时,它首先会被写入 Leader,然后 Leader 将消息复制给 ISR 中的所有副本。只有当 ISR 中的所有副本都成功地接收到并确认了消息后,主副本才会认为消息已成功提交。这种机制确保了数据的可靠性和致性。
生产者在写入数据时,可以通过设置 acks 参数来控制数据的一致性级别。设置 acks=all(或acks=-1)
故障容错能力:
如果领导副本发生故障,Kafka 会从 ISR 中选取一个新的领导副本。由于 ISR 中的副本与之前的领导副本保持同步,新的领导副本能够继续提供服务,而不会丢失数据。
ISR 的维护机制
领导副本更新 ISR :
领导副本会定期检查每个追随者副本的状态。如果某个追随者副本在指定时间内未能跟上领导副本的更新,领导副本会将其从 ISR 中移除。
追随者副本重新加入 ISR :
当追随者副本