我正在使用 Kafka 0.8.2。正如文件所说:
batch.num.messages指定:
使用异步模式时一批发送的消息数。生产者将等待直到此数量的消息准备好发送或达到 queue.buffer.max.ms。
request.required.acks控制代理对请求的确认。
我想知道 Kafka 代理如何发送此确认,它是为批处理发送 ACK,还是为每个单独的消息发送 ACK?
我正在使用 Kafka 0.8.2。正如文件所说:
batch.num.messages指定:
使用异步模式时一批发送的消息数。生产者将等待直到此数量的消息准备好发送或达到 queue.buffer.max.ms。
request.required.acks控制代理对请求的确认。
我想知道 Kafka 代理如何发送此确认,它是为批处理发送 ACK,还是为每个单独的消息发送 ACK?
http://www.slideshare.net/miguno/apache-kafka-08-basic-training-verisign(幻灯片 83):
原始消息列表根据它们的目标分区/主题进行分区(如果使用默认分区程序,则随机分配),即分成更小的批次。每个拆分后的批次都被发送到各自的领导代理/ISR(各个 send() 顺序发生),并且每个都由其各自的领导代理根据 request.required.acks 确认