java批量发布Kafka对象
我用的是卡夫卡普勒。send()方法将记录发布到Kafka。 这是一种异步方法。我的应用程序正在向卡夫卡发布大约2万条记录。在成功发送大约10k条记录后,我多次收到超时异常。我增加了一批。大小和逗留。ms,这减少了问题,但有时我仍然会遇到超时异常。 是否有一种方法一次只发送10k条记录,等待它们完成,然后发送下一批记录??我不想使用send使其同步。get(),因为这会使速度非常慢。 这是我得到的一个例外
Error publishing object on partition 0 org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s)
# 1 楼答案
您是否尝试将
retries=3
设置为生产者配置可能在记录过期的情况下,您不应该增加
batch.size
,而应该减少它