当前位置: 首页 > 知识库问答 >
问题:

Spring kafka-在同一分区和偏移量发生故障时重试发送消息

慕嘉运
2023-03-14

我正在使用 kafka模板向 kafka 主题发送消息。我遇到了一个要求,如果将消息发送到 kafka 主题时出现故障,那么我应该重试在具有相同偏移量的同一分区上发送消息。请帮助如何使用Kafka模板实现这一点?

共有1个答案

柴辰阳
2023-03-14

您可以使用标准重试机制重试消息,也可以使用自定义分区器根据键控方案始终将消息发送到特定分区。但是偏移量是无法提前预测的,因为只有当经纪人确认您的消息时,它才会通过Java未来在记录元数据中返回。

您可以在此处重新验证您的要求。

 类似资料:
  • 我使用的是Spring Kafka 1.2.2版。我有一个Kafka Listener作为消费者,它监听一个主题并在弹性中索引文档。我的自动提交偏移量属性设置为true//default。

  • 我正在使用kafka节点模块向kafka发送消息。在集群环境中,我有一个主题,其中有3个分区,复制因子为3。 主题描述是- 生产者配置 - 当我发送数据时,它遵循分区类型作为循环(2)像轮循机制一样 当我按照以下步骤操作时 获取连接到Kafka:9092,Kafka:9093的高级处理器实例 发送消息 手动停止Kafka服务器:9092 尝试使用高级处理器发送另一条消息,send() 将触发回调并

  • 下面是从kafka主题(8分区)接收消息并对其进行处理的消费者代码。 如果处理逻辑中没有返回错误,则所有工作都按预期进行。 但是,如果我抛出一个错误来模拟特定消息的处理逻辑中的异常行为,那么我就没有处理导致异常的消息。流将移动到下一条消息。 我想要实现的是,处理当前消息并提交偏移量,如果它成功,然后移动到下一个记录。 问候, 维诺特

  • 我在构建APK时收到此错误。 试图使缓存无效并重新启动android studio。重建项目,但没有一个适合我。

  • 我是卡珊德拉的新成员。 我在两台 Debian VMware 机器上创建了 2 个 cassandra 2.1 节点。在 asp.net mvc 中,我使用了 datastax 驱动程序 2.1.5,实际上没有任何问题,但是当我关闭或禁用其中一个节点上的网络时,应用程序似乎有 5 或 10 秒的延迟来自动连接其他节点。 当两个节点启动时,查询在c00:00:00.0620413秒内运行,当一个节点

  • 我在将Firebase Firestore依赖项添加到我的应用程序后出现错误。