首页 > 解决方案 > 重试逻辑在 kafka 生产者中如何工作?

问题描述

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

我查看了与重试相关的生产者配置文档但无法理解清楚?

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

标签: apache-kafkaproducer

解决方案


Producer 配置属性 retries 默认为 0,如果 Producer 未从 Kafka Broker 获得确认,则为重试计数。仅当记录发送失败被视为暂时错误 (API) 时,生产者才会重试。生产者的行为就像您的生产者代码在尝试失败时重新发送记录一样。请注意,超时会重试,但 retry.backoff.ms(默认为 100 毫秒)用于在失败后等待,然后再重试请求。如果您设置 retry > 0,那么您还应该将 max.in.flight.requests.per.connection 设置为 1,否则重试消息可能会乱序传递。您必须决定乱序消息传递是否对您的应用程序很重要。

有关更多详细信息,请参阅此处


推荐阅读