kafka代理是为每个消息还是为每个消息批发送ack?

gopyfrb3  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(452)

我用的是Kafka0.8.2。正如文件所说:
batch.num.messages指定:
使用异步模式时一批中要发送的消息数。生产者将等待此数量的消息准备发送或达到queue.buffer.max.ms。
request.required.acks控制代理对请求的确认。
我想知道kafka broker是如何发送此确认的,它是针对批处理还是针对每个消息发送ack?

eivnm1vs

eivnm1vs1#

http://www.slideshare.net/miguno/apache-kafka-08-basic-training-verisign (幻灯片83):
原始消息列表根据其目标分区/主题进行分区(如果使用默认分区器,则随机进行分区),即分成更小的批。每个拆分后的批处理都被发送到各自的leader broker/isr(单个send()按顺序发生),并且每个批处理都由各自的leader broker根据request.required.acks进行确认

相关问题