LEO:
指的是每个副本最大的offset
HW:
指的是消费者能见到的最大的offset,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同步数据。
这样只能保证副本之间的数据一致性,并不能保证数据不丢失或者不重复。
Exactly Once语义
对于某些重要的消息,只需要保证exactly once 语义,既保证每条消息被发送且仅被发送一次。