需要更改 Kafka Producer 配置的哪些参数,以便生产者应该:
1)重试n次
2)n个间隔后
如果代理关闭,也会收到相同的消息。
我需要处理与此相关的情况:https://github.com/rsyslog/rsyslog/issues/1052 https://github.com/rsyslog/rsyslog/issues/1052
您可以设置“retries“到n(次数)。但这还不够,您还需要研究其他配置,这些配置也可能因此而受到影响或使其无效。
1)如果你有acks = 0对于生产者来说,这是行不通的。因为
acks = 0 → 生产者不等待任何类型的确认。在这种情况下,不能保证经纪人已收到该记录。重试配置不生效,因为无法知道是否发生任何失败.
2)如果您正在寻找事件的有序交付,那么您需要设置每个连接的最大飞行请求数 to 1.
3) 重试.退避.ms- 尝试重试对给定主题分区的失败请求之前等待的时间。这避免了在某些故障场景下在紧密循环中重复发送请求。
4) 请求超时毫秒- 配置控制客户端等待请求响应的最长时间。如果在超时之前没有收到响应,客户端将如有必要,重新发送请求;如果重试次数用尽,则请求失败.
5) 交付.超时.ms- 调用 send() 返回后报告成功或失败的时间上限。这限制了记录在发送之前延迟的总时间、等待代理确认的时间(如果预期)以及允许重试发送失败的时间。生产者可以报告失败发送记录早于此配置如果遇到不可恢复的错误,重试次数已用完,或者将记录添加到已达到较早交货到期期限的批次中。
参考链接:https://kafka.apache.org/documentation/# Producerconfigs https://kafka.apache.org/documentation/#producerconfigs
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)