
Kafka 在什么情况下会出现消息丢失?
丢失原因:数据从producer端push过来后,broker端需要将数据持久化存储到磁盘中,消息存储是异步存储的,按照一定的消息数量和间隔时间进行存储,如果在存储的时候broker挂了,此时选举了一个落后Leader 很多的Follower成为新的Leader,那么落后的消息就会丢失。2)拉去消息后,先提交offset再处理消息(如果处理消息的时候挂了,由于offset已经提交,consumer重启后会从之前提交的offset下一个位置开始消费,之前未处理的消息不会再次被处理,所以这部分消息已经丢失)









