ack为1(默认) 数据发送到Kafka后,经过leader成功接收消息的的确认,就算是发送成功了。在这种情况下,如果leader宕机了,则会丢失数据。
    ack为0 生产者将数据发送出去就不管了,不去等待任何返回。这种情况下数据传输效率最高,但是数据可靠性确是最低的。
    ack为-1 producer需要等待ISR中的所有follower都确认接收到数据后才算一次发送完成,可靠性最高。当ISR中所有Replica都向Leader发送ACK时,leader才commit,这时候producer才能认为一个请求中的消息都commit了。

    简述:
    0 发送过去就不管了 , 可靠性最差 传输效率最高
    1 发送过去,leader应答; 可靠性一般 传输效率一般
    -1 发送过去leader和follower,共同应答;可靠性最高;传输效率最低


    0是没人选的。
    如果是普通日志,通常选择1 追求效率 , 稍微丢点日志数据,不会影响大局.
    如果是金融和钱相关的,通常选择-1