生产者首先发送消息是向leader发送,当ack通信机制=0的时候(leader立刻给生产者回信,已经收到消息了)
leader收到消息了会收集到内存内,相当于记录了偏移量,生产者消息还没有发送完,leader就挂了,或者,leader通过IO发送给follower,有时间差这个时候就会造成消息的丢失.
如何解决:
ack=1 : 有一个副本持久化,也就是leader完全接受到信息持久化,然后在回复生产者收到消息了 -
ack=-1 所有的 isr副本全部同步完成
相对于效率来说 ack不安全但是效率最高