Kafka 代理是否为每条消息或每批消息发送 ACK?

Does Kafka broker send ACK for each message or for each message batch?

我正在使用 Kafka 0.8.2。正如文件所说:

batch.num.messages 指定:

使用异步模式时一批发送的消息数。生产者将等待,直到准备好发送此数量的消息或达到 queue.buffer.max.ms。

request.required.acks 控制代理对请求的确认。

我想知道 Kafka 代理如何发送此确认,它是针对批处理还是针对每条消息发送 ACK?

http://www.slideshare.net/miguno/apache-kafka-08-basic-training-verisign(幻灯片 83):

The original list of messages is partitioned (randomly if the default partitioner is used) based on their destination partitions/topics, i.e. split into smaller batches. Each post-split batch is sent to the respective leader broker/ISR (the individual send()’s happen sequentially), and each is acked by its respective leader broker according to request.required.acks