* ack=1,Producer只要收到一個分區(qū)副本成功寫入的通知就認為推送消息成功了。這個副本必須是leader副本, 只有l(wèi)eader副本成功寫入了,Producer才會認為消息發(fā)送成功。但是,果leader成功寫入后,還沒來得及把數據同步到Follower節(jié)點就掛了,這時候消息就丟失了。 ack的默認值就是1。這個默認值其實就是吞吐量與可靠性的一個折中方案。生產上我們可以根據實際情況進行調整,比如如果你要追求高吞吐量,那么就要放棄可靠性。
* ack=-1,Producer只有收到分區(qū)內所有副本的成功寫入的通知才認為推送消息成功了
* ack=0 簡單來說就是,Producer發(fā)送一次就不再發(fā)送了,不管是否發(fā)送成功