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

Kafka流状态容错准确一次?

桂鑫鹏
2023-03-14

扬尼克

共有1个答案

弓泰
2023-03-14

简短的回答是肯定的。

使用事务原子多分区写入Kafka流确保,当执行偏移提交时,状态存储也会闪烁到代理上的changelog主题。上面的操作是原子的,所以如果其中一个操作失败,应用程序将重新处理以前偏移位置的消息。

您可以在下面的博客中阅读更多关于确切一次语义https://www.confluent.io/blog/enable-rectric-kafka-streams/。有一节:Kafka流如何保证精确一次处理

 类似资料:
  • 我有一个KStream,其中包含从主题到1的数据,如下所示: 和KTable,构造如下: 稍后,主题To2中出现以下消息: 现在,我希望我的KTable能够反映这些变化,并且看起来像这样: 但看起来是这样的: 我想我缩小了范围:显然聚合的只在第一次调用--之后聚合总是接收作为最后一个参数,例如。 其中,在第一次调用(通过初始值设定项创建)时为,但在第二次调用时为。 有什么想法吗? 编辑2 编辑3

  • 可以用类 ios 中的位测试流的状态。类ios是输入/输出类 istream、ostream 和 iostream 的基类。 当遇到文件结束符时,输人流中自动设置 eofbit。可以在程序中使用成员函数eof确定是否已经到达文件尾。如果cin遇到了文件结束符,那么函数调用: cin.eof() 返回 true,否则返回 false。 当流中发生格式错误时,虽然会设置failbit,但是字符并末丢失

  • 我正在开发使用Spring Cloud Stream构建的Kafka Streams应用程序。在这个应用程序中,我需要: 使用可在以后检索的连续消息流。 保留与某些条件匹配的邮件 ID 列表。 在单独的线程中,运行一个计划程序,该计划程序定期读出消息 ID,检索与这些 ID 匹配的相应消息,并对这些消息执行操作。 从列表中删除已处理的消息 ID,以便不重复工作。 我已考虑如下实施: < li >将

  • 我试着把我的头缠绕在Kafka的溪流和一些根本的问题,我似乎无法解决,我自己。我理解和Kafka状态存储的概念,但我很难决定如何实现它。我还在使用Spring Cloud Streams,这在此基础上增加了另一个层次的复杂性。 我的用例: 一些有状态规则如下所示: 我当前的实现将所有这些信息存储在内存中,以便能够执行分析。由于显而易见的原因,它不容易扩展。所以我想我会坚持到Kafka的州立商店。

  • 我正在尝试编写一个简单的Kafka Streams应用程序(目标是Kafka 2.2/Confluent 5.2),将一个至少有一次语义的输入主题转换为一个恰好只有一次的输出流。我想对以下逻辑进行编码: 对于具有给定密钥的每条消息: (这是基于我们从上游系统获得的订购保证来保证提供正确的结果;我不想在这里做任何神奇的事情。) 起初,我以为我可以用Kafka Streams操作符来实现这一点,它可以

  • 我有一个React函数组件,沿着遗留的JQuery应用程序运行。在JQuery元素上调用事件处理程序时,传递当前React状态默认值为初始状态值,而不是更新后的状态值。 已验证的x状态正在通过useEffect钩子更改,但在调用事件侦听器时,x设置为初始状态值,而不是更新后的状态值。 不会显示任何错误消息。在本文的上述代码中,我希望onXSave方法调用中的x状态为true,但它一直显示为fals