如何在kafka生产者中使batch.size动态化?

时间:2017-10-26 13:05:49

标签: apache-kafka kafka-producer-api

保持batch.size较小会带来在生产者上更频繁地发送消息的开销并同时降低吞吐量并保持大量会导致内存浪费。是否有任何解决方案,根据负载,此大小可以是动态的?

2 个答案:

答案 0 :(得分:0)

仅当您停止上一个制作人并开始新制作人时。生成器对象在发送任何消息之前需要所有属性。您无法在作业中间修改其属性。

答案 1 :(得分:0)

您可以将linger.msbatch.size属性结合使用。如果您将batch.size设置为5242880(5 MB)并将linger.ms设置为10 ms。然后,生产者将等到批量大小被填满/达到延迟时间。

在官方文档中查看有关linger.ms属性的更多信息。