LEO:每个副本最后一个offset,LEO其实是最新的offset+1
HW:所有副本最小的LEO
1.Follower故障
1.Follower发生故障后会被临时提出ISR
2.这个期间Leader和Follower继续接受数据
3等该follower恢复后,follower会读取本地磁盘记录的上次的HW,并将log文件高于HW的部分截取,从HW开始向Leader进行同步
4.等该follower的LEO大于等于该partition的HW,即Follower追上Leader后,可以重新加入ISR了
Leader故障
1.Leader发生故障后,会从ISR中选出新Leader
2.为保证多个副本之间数据一致性,其余Follower会先将各自log文件高于HW的部分截取,然后从新的leader同步数据
注释:这只能保证副本之间的数据一致性,并不能保证数据不丢失或者不重复
生产经验-数据乱序
未开启幂等性
max.in.flight.requests.per.connection=1
开启幂等性
max.in.flight.requests.per.connection=5