我想构建一个Kafka Streams应用程序,用于获取类型为A
的消息。对于每个A
输入,应用程序需要生成若干块B
输出(常见的flatMap操作(。
我正在寻求以一种方式来实现它,即应用程序将在每次批量之后提交到输出主题(我称之为"subcommitteing">(,并具有其子组的状态(这样它就可以在失败的情况下恢复到它没有做的 个子组我希望应用程序只有在完成所有bulk的小组处理后才能进行常规的完全提交。 处理器API似乎可以帮助我,因为我可以管理子组的状态。 所以,
在Kafka中提交偏移量是基于输入消息的。因此,如果您有一个输入记录,即flatMap
到多个输出消息,则不能将提交拆分为多个。要么提交输入消息,要么不提交。
在Kafka中没有提交输出消息的概念。