重试逻辑在 kafka 生产者中是如何工作的?

问题描述

重试逻辑在生产者中是如何工作的?

我查看了与重试相关的生产者配置文档,但看不清楚?

请简化并帮助我理解。谢谢

解决方法

Producer 配置属性 retries 默认为 0 并且是重试 如果 Producer 没有得到 Kafka Broker 的确认,则计数。制作人 仅当记录发送失败被视为暂时性错误 (API) 时才会重试。 Producer 的行为就像您的生产者代码重新发送记录一样 失败的尝试。注意超时是重试的,但是 retry.backoff.ms (默认为 100 ms)用于在失败后重试之前等待 再次请求。如果你设置重试> 0,那么你也应该设置 max.in.flight.requests.per.connection 为 1,或者有 重新尝试的消息可能会乱序传递的可能性。 您必须决定乱序消息传递是否对您有影响 申请。

有关详细信息,请参阅here