我想拥有Exactly-once语义,但我不想用Consumer阅读消息。我宁愿用Kafka Streams AP阅读消息。如果我将 processing.guarantee = exact_once 添加到流配置中,是否会保留一次语义?
答案 0 :(得分:2)
完全一次处理基于读进程写入模式。 Kafka Streams使用这种模式,因此,如果您编写一个将结果写回Kafka主题的常规Kafka Streams应用程序,您将获得一次性处理保证。
请注意,此保证不涵盖副作用。另请注意,如果发生故障,可能会在内部重试。完全一次意味着,您在输出主题中看到的结果与未发生错误(因此不会重试)的情况相同。
有关详细信息,您可能希望观看有关Kafka中一次性保证的谈话录音。 Confluent网页上有多个(免责声明:我是Confluent的员工):https://www.confluent.io/resources/