Kafka集群-数据可靠性-Consumer数据一致性问题(LEO和HW)
Log文件中的HW 和 LEO

LEO(Log End Offset)
每个副本的最后一个Offset
HW(High Watermark)
是控制消费者可读取消息范围的重要字段。所有副本中最小的LEO,ISR队列中最小的LEO
follower故障
follower故障后会被临时踢出ISR,待该follower恢复后,follower会读取本地磁盘的上记录的上一次 HW,并将log文件高于 HW 的部分截取掉,从HW开始向Leader进行同步。等该 Follower的 LEO 大于等于该 Partition 的HW,即 follower追上了leader之后,就可以重新加入ISR了
leader故障
Leader发生故障之后,会从ISR中选出一个新的Leader,为保证多个副本之间的数据一致性,其余的follower会先将各自的log文件高于 HW 的部分截掉,然后从新的 Leader同步数据
注意:
这只能保证副本之间数据的一致性,不能保证数据不丢失或者不重复。

浙公网安备 33010602011771号