参考答案
- 1(默认) 数据发送到Kafka后,经过leader成功接收消息的的确认,就发送成功了。在这种情况下,如果leader宕机,会丢失数据。
- 0 生产者将数据发送出去,不用等待任何返回。这种情况下数据传输效率是最高的,但是数据可靠性确是最低的。
- -1 producer需要等待ISR中的所有 follower 都确认接收到数据后,才算一次发送完成,可靠性最高。当ISR中所有Replica都向Leader发送ACK时,leader才commit,这时候producer才能认为一个请求中的消息都commit了。
以上,是 Kafka 面试题【Kafka producer打数据,ack为 0,1,-1 时代表什么?设置-1时,leader在什么情况下会认为一条消息commit】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—