apache-kafka - 重试逻辑在 kafka 生产者中如何工作?
问题描述
重试逻辑在生产者中如何工作?
我查看了与重试相关的生产者配置文档但无法理解清楚?
请简化并帮助我理解。谢谢
解决方案
Producer 配置属性 retries 默认为 0,如果 Producer 未从 Kafka Broker 获得确认,则为重试计数。仅当记录发送失败被视为暂时错误 (API) 时,生产者才会重试。生产者的行为就像您的生产者代码在尝试失败时重新发送记录一样。请注意,超时会重试,但 retry.backoff.ms(默认为 100 毫秒)用于在失败后等待,然后再重试请求。如果您设置 retry > 0,那么您还应该将 max.in.flight.requests.per.connection 设置为 1,否则重试消息可能会乱序传递。您必须决定乱序消息传递是否对您的应用程序很重要。
有关更多详细信息,请参阅此处
推荐阅读
- python - 下载 zip 文件时如何绕过警报窗口?
- javascript - Javascript禁用设备摄像头
- javascript - 材质 UI 模态不会关闭
- c++ - C中的fill_n是否有等效函数?
- typescript - 什么是 object 和 any 的好选择?
- arrays - 返回文档,其中数组元素包含输入数组的所有值 | MongoDB
- javascript - 通过内容脚本阻止将文件拖放到 chrome 中
- android - 我正在尝试 android studio 但出现错误
- timer - 什么是定时器 ID?
- python - 我正在寻找一种允许我从 python 发布到 Instagram 的工具