消费者只能消费到HW,高水位位置,也就是数据最少的follower数据的最后一个位置,确保一旦leader挂掉,重新选举后,也可以消费到哪个位置,否则,会超出offset
对于数据一致性,可选用高可用的机器,采用高可用的ISR同步策略,采用高可用的数据结构确保数据一致性
kafka数据重复性应对方法,由于leader和follower同步性和leader掉线,ack应答机制设置的问题,导致主从数据丢失,和重复,但是如果在每次发消息后,都进行高水位的截取,即可保证数据同步性,但效率低
如果消息没能及时同步,也就是消息丢失,那么根据高水位,也可以保证数据一致性,
如果消息重复,但是也会一步一步来,在消息丢失后,会进行leader的高水位一致性,处理完之后,再接收消息。然后如果再发生消息重复或者消息丢失,再进行处理。
虽然消息丢失,重复,但是leader。follower数据是一致的