Kafka消息發(fā)送的模式主要有三種:
同步發(fā)送:消息發(fā)送方發(fā)送消息后,等待消息被成功寫入所有副本并收到確認(rèn)后才返回,這種模式可以保證消息的可靠性,但會增加延遲。
異步發(fā)送:消息發(fā)送方發(fā)送消息后不等待確認(rèn),直接返回,只是將消息添加到發(fā)送緩沖區(qū)中,然后繼續(xù)發(fā)送下一條消息。這種模式下發(fā)送方無法得知消息是否成功發(fā)送,可能會有消息丟失的風(fēng)險。
批量發(fā)送:將多條消息打包成一個批次發(fā)送,可以減少每次發(fā)送消息時的網(wǎng)絡(luò)開銷,提高性能。但是在消息發(fā)送時需要注意控制批次大小,避免一次發(fā)送過多消息導(dǎo)致內(nèi)存占用過大或網(wǎng)絡(luò)壓力過大。