如何在 Kafka 0.9 生产者中设置最大排队时间?
How to set the max queue time in Kafka 0.9 producer?
如何在 Kafka v0.9 中设置最大排队时间?
我的理解是Kafka生产者会尝试将队列中的消息缓存到一定大小,然后将队列中的消息批量发送给broker。但是在 Kafka v0.8 中,配置 "queue.buffering.max.ms" 会在到达时间限制时发送队列中的消息,即使它们小于缓冲区大小。
The batching can be configured to accumulate no more than a fixed number of messages and to wait no longer than some fixed latency bound (say 64k or 10 ms).
来自 Kafka 0.9 文档:
http://kafka.apache.org/documentation.html#design_asyncsend。 (此部分与Kafka 0.8.2相同)
但是我在 v0.9 生产者配置部分没有找到 "queue.buffering.max.ms" 或等效的配置 http://kafka.apache.org/documentation.html#producerconfigs
是否还有办法在 Kafka v0.9 中配置它,或者我必须调用 KafkaProducer.close()
或 KafkaProducer.flush()
才能这样做?
对于该配置,使用 batch.size
和 linger.ms
您需要使用 batch.size
和 queue.time
,而不是接受的答案中所述的 linger.ms
。
linger.ms
是发送一批请求之前的延迟,但默认为零,而不是发送一批请求之前的最长时间。
有关详细信息,请参阅:https://kafka.apache.org/documentation。
如何在 Kafka v0.9 中设置最大排队时间?
我的理解是Kafka生产者会尝试将队列中的消息缓存到一定大小,然后将队列中的消息批量发送给broker。但是在 Kafka v0.8 中,配置 "queue.buffering.max.ms" 会在到达时间限制时发送队列中的消息,即使它们小于缓冲区大小。
The batching can be configured to accumulate no more than a fixed number of messages and to wait no longer than some fixed latency bound (say 64k or 10 ms).
来自 Kafka 0.9 文档: http://kafka.apache.org/documentation.html#design_asyncsend。 (此部分与Kafka 0.8.2相同)
但是我在 v0.9 生产者配置部分没有找到 "queue.buffering.max.ms" 或等效的配置 http://kafka.apache.org/documentation.html#producerconfigs
是否还有办法在 Kafka v0.9 中配置它,或者我必须调用 KafkaProducer.close()
或 KafkaProducer.flush()
才能这样做?
对于该配置,使用 batch.size
和 linger.ms
您需要使用 batch.size
和 queue.time
,而不是接受的答案中所述的 linger.ms
。
linger.ms
是发送一批请求之前的延迟,但默认为零,而不是发送一批请求之前的最长时间。
有关详细信息,请参阅:https://kafka.apache.org/documentation。