生产者在卡夫卡代理关闭的情况下需要更长的时间抛出异常



我想处理这种情况,如果 Kafka Broker 在 Kafka Producer 端关闭,那么它需要更长的时间才能显示以下错误。

发送失败;嵌套异常是 org.apache.kafka.common.errors.TimeoutException:日志记录 0 的 1 条记录即将过期:自批量创建加上延迟时间以来已经过去了 30030 毫秒

如何处理?

生产者等待request.timeout.ms来自代理的响应。

配置控制客户端将花费的最长时间 等待请求的响应。如果未收到响应 在超时结束之前,客户端将重新发送请求,如果 必要,或者在重试用尽时使请求失败。这应该是 大于 replica.lag.time.max.ms(代理配置(以减少 由于不必要的生产者而导致消息重复的可能性 重试。

默认情况下设置为 30000 毫秒。如果您尝试将其缩小,请小心,因为太短会导致生产者重试太快并产生重复项。

最新更新