3

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

batch.num.messages指定:

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

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

我想知道 Kafka 代理如何发送此确认,它是为批处理发送 ACK,还是为每个单独的消息发送 ACK?

4

1 回答 1

3

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

原始消息列表根据它们的目标分区/主题进行分区(如果使用默认分区程序,则随机分配),即分成更小的批次。每个拆分后的批次都被发送到各自的领导代理/ISR(各个 send() 顺序发生),并且每个都由其各自的领导代理根据 request.required.acks 确认

于 2015-11-11T14:36:15.950 回答