【发布时间】:2017-04-12 05:19:00
【问题描述】:
如何在 Kafka v0.9 中设置最大排队时间?
我的理解是Kafka生产者会尝试将队列中的消息缓冲到一定大小,然后将队列中的消息作为批处理发送给broker。但是在 Kafka v0.8 中,“queue.buffering.max.ms”的配置会在达到时间限制时发送队列中的消息,即使它们小于缓冲区大小。
可以将批处理配置为累积不超过固定数量的消息,并且等待不超过某个固定延迟限制(例如 64k 或 10 毫秒)。
来自 Kafka 0.9 文档: http://kafka.apache.org/documentation.html#design_asyncsend。 (本节与Kafka 0.8.2相同)
但我在 v0.9 生产者配置部分http://kafka.apache.org/documentation.html#producerconfigs 中没有找到“queue.buffering.max.ms”或等效项的配置@
还有没有办法在 Kafka v0.9 中进行配置,或者我必须调用 KafkaProducer.close() 或 KafkaProducer.flush() 才能这样做?
【问题讨论】:
标签: apache-kafka kafka-producer-api