kafka producer 打數據,ack 為 0, 1, -1 的時候代表啥, 設置 -1 的時候,什么情況下,leader 會認為一條消息 commit了?


1(默認)  數據發送到Kafka后,經過leader成功接收消息的的確認,就算是發送成功了。在這種情況下,如果leader宕機了,則會丟失數據。

0 生產者將數據發送出去就不管了,不去等待任何返回。這種情況下數據傳輸效率最高,但是數據可靠性確是最低的。

-1 producer需要等待ISR中的所有follower都確認接收到數據后才算一次發送完成,可靠性最高。

當ISR中所有Replica都向Leader發送ACK時,leader才commit,這時候producer才能認為一個請求中的消息都commit了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM