Kafka Producer配置重试策略

2024-05-24

需要更改 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(使用前将#替换为@)

Kafka Producer配置重试策略 的相关文章

随机推荐

  • 使用 Scala Slick 创建组合主键

    我正在尝试使用两列作为 Scala Slick 表的主键 这是我的表的定义方式 class NbaPlayerBoxScoreTable tag Tag extends Table NbaPlayerBoxScore tag player
  • 赋值运算符继承

    有这样的代码 include
  • GoLang 中的 HTML 部分

    我刚刚开始使用 Go 我想用它创建一个网络应用程序 我现在尝试的是以handlebarsjs 式的方式使用模板 我想将页眉和页脚从主页中取出 以便可以将它们注入到每个网页上 我当前的设置应该是解析主页 页眉和页脚 HTML 文件并缓存它们
  • 使用 Windows 命令行将多行环境变量回显到文本文件

    我有一个环境变量 SSH PRIVATE KEY 并希望使用命令行将其打印到文件中 而不使用批处理文件 这是因为我需要在 Gitlab Ci yml 脚本中使用此文件 在 Linux 中 这很简单 echo SSH PRIVATE KEY
  • HTML - 如何在 HTML 页面上创建递增/递减文本框?

    How can i create a increment decrement text box in HTML Page using jquery or Javascript 我还想设置最大值和最小值 我该如何实现这个目标 简单的 HTML
  • 测量以指定宽度包裹的文本高度

    如何计算渲染以指定宽度包裹的文本所需的高度 我在中找到了以下方法Graphics graphicsObj MeasureString text font width 但它需要一个实例Graphics当时我还没有图形实例 事实上 我更喜欢使用
  • 有哪些扩展内置对象的有用 JavaScript 方法? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 扩展内置 JavaScript 对象 如字符串 数组 日期 布尔值 数学等 的最有用 最实用的方法是什么 String format
  • [node][mocha]使用 mocha 测试时无法访问全局变量

    我正在尝试为快速节点应用程序创建单元测试 我希望用于测试的配置与生产中使用的配置不同 因此我实现了以下内容 In my index js 我将配置加载到全局变量中 如下所示 global env global env config requ
  • 谁决定 Java 中数据类型的大小

    Java中int等数据类型的大小由谁决定 JVM 操作系统还是处理器 int 大小为 4 字节 无论操作系统或处理器如何 它总是 4 字节吗 The Java语言规范 http docs oracle com javase specs jl
  • android 想要导航到多个目的地吗?

    有什么办法可以导航到多个目的地吗 就像你可以在谷歌地图上做的那样 您可能知道 您可以使用以下未记录的方式导航到目的地 startActivity new Intent Intent ACTION VIEW Uri parse google
  • 返回承诺与在承诺内返回未定义之间的区别

    我不太确定我是否理解这两种常见场景之间的区别 假设我们有这个 user save then function val anotherPromise1 val then function val anotherPromise2 val cat
  • 从会话 0(服务)启动提升的用户进程[重复]

    这个问题在这里已经有答案了 大家早 这个问题似乎已被问过几次 但我找不到它是否真的可能 我已发布于here http social msdn microsoft com Forums windowsdesktop en US 80e4e75
  • 跨计算机共享 Eclipse 工作区?

    我需要设计或使用 5 到 10 台 PC 使用 Eclipse 但具有相同的工作空间 我该怎么做 我已经尝试过 但无法共享工作区的文件夹 请帮忙 实际上 你想实现什么目标 因为工作区应该是特定于用户的 它包含诸如设置 视角如何设置 哪个视图
  • 将字符串数组添加到组合框

    我有一个组合框 我想加载一个从方法返回的字符串数组 我目前只是用 for 循环加载它 但我认为应该可以将字符串数组直接分配给组合框 我只是想改进我的代码 我已经做了一些搜索 并且看到了使用数据范围或数据源的答案 但这些似乎都不起作用 我也尝
  • 如何在 Django-admin 中呈现自定义嵌套复选框树视图?

    我有一个bugs映射到的模型categories 类别可以拥有其他类别 class Bug models Model categories models ManyToManyField Category name models CharFi
  • 如何将外部 JAR 包含在我自己的项目 JAR 中

    我有一个 Java 应用程序 创建了一个 JAR 文件并部署了它 该应用程序使用外部 JAR 例如 Log4J JAR 创建 JAR 文件时 如何将所有外部依赖 JAR 包含到我的存档中 为了让我的应用程序正常工作 我必须将 Log4J J
  • Mysql UUID_SHORT() 与 UUID() 相当吗

    如果您愿意的话 请快速提出问题或意见 我需要为数据库表生成一些 UUID 自动递增密钥不会减少它 因为我还需要密钥在数据库和系统中保持唯一 UUID 工作正常 但其输出对于行将导出到的某些系统来说太长 UUID SHORT 做得很好 我已经
  • WCF流模式确实很慢

    我想知道为什么流模式下的 WCF 与缓冲模式相比确实很慢 基本上 我从服务器读取大量数据 数据库访问 然后通过 WCF 将大量数据传输到其他客户端 我通过比较两种不同的传输模式进行了一些测试和基准测试 我创建了 2 个端点 第一个正在使用t
  • 为什么我在 R 向量的类别中看到“整数”而不是“向量”

    为什么从数据框中切片的列的数据类型显示为 整数 而不是 向量 df lt data frame x 1 3 y c a b c x y 1 1 a 2 2 b 3 3 c c1 lt df 1 1 1 2 3 class c1 1 inte
  • Kafka Producer配置重试策略

    需要更改 Kafka Producer 配置的哪些参数 以便生产者应该 1 重试n次 2 n个间隔后 如果代理关闭 也会收到相同的消息 我需要处理与此相关的情况 https github com rsyslog rsyslog issues