我想构建一个获取类型为A
的消息的Kafka Streams应用程序。
对于每个A
输入,应用程序都需要产生{strong>几个批量输出(一个常见的flatMap操作)。
我正在寻求一种实现方式,使应用程序在每次批量处理后都会提交到输出主题(我称此“ subcommitting” ),并具有其 subcommits的状态(这样它可以恢复到失败时未执行的 subcommits )。
我希望应用程序仅在完成全部批量提交后才进行常规的完全提交。
处理器API似乎可以帮助我,因为我可以管理子提交的状态。
所以
答案 0 :(得分:1)
Kafka中的提交偏移量基于输入消息。因此,如果您只有一条输入记录,即flatMap
成多条输出消息,则无法将提交分成多条。您提交了输入消息,还是没有提交。
在Kafka中没有提交输出消息的概念。