批量发布Kafka对象

时间:2019-05-21 09:06:53

标签: java apache-kafka kafka-producer-api

我正在使用KafkaProducer.send()方法将记录发布到Kafka。 这是一种异步方法。我的应用程序将大约2万条记录发布到Kafka。成功发送大约1万条记录后,很多时间我都收到超时异常。我增加了batch.size和linger.ms,这减少了问题,但有时我仍然会遇到超时异常。 有没有办法一次只发送10k条记录,等待它们完成然后发送下一批?我不想使用send.get()使其同步,因为这会使它非常慢。 这是我得到的例外。

Error publishing object on partition 0 org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s)

1 个答案:

答案 0 :(得分:0)

您是否尝试将retries=3设置为生产者配置?
并且可能在记录到期的情况下,您不应增加batch.size,而应减少它。