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