Apache Kafka-linger.ms和batch.size设置

时间:2018-07-25 14:43:46

标签: apache-kafka kafka-producer-api

在kafka生产者设置中,如果将linger.ms设置为0且batch.size非零,则预期的行为是什么?生产者将在发送消息之前等待到达batch.size多长时间? 它会一直等到邮件的大小小于指定的批处理大小或 由于linger.ms为零,它不会进行任何批处理,而只是发送每个请求?

1 个答案:

答案 0 :(得分:4)

否,这并不意味着生产者将等待批次 变得饱。 生产者将发送半满的批次,甚至只发送一个批次的批次 在他们的消息。

因此,将批次大小设置得太大不会导致延迟 发送消息;它只会为批处理使用更多的内存。设置批次 大小太小会增加一些开销,因为生产者将需要发送消息

默认情况下(linger.ms = 0),生产者将 只要有可用的发送方线程就发送消息,即使 批次中只有一条消息。

希望有帮助。

谢谢。