我想构建一个kafka流应用程序来获取类型为 A
. 每 A
输入时,应用程序需要生成几大块 B
输出(普通平面图操作)。
我正在寻求以这样一种方式来实现它:应用程序将在每次批量之后提交到output主题(我称之为“subcommitting”),并拥有其子命令的状态(以便在发生故障时可以恢复到未执行的子命令)。
我希望应用程序只在完成所有块的子编译之后才执行常规的完全提交。
似乎处理器api可以帮助我,因为我可以管理子命令的状态。
所以,
这个设计合理吗(搜索时没有看到类似的情况,所以我有点怀疑)
如何以编程方式子命令(i、 (仅提交到输出主题)
1条答案
按热度按时间z5btuh9x1#
在kafka中提交偏移量是基于输入消息的。因此,如果您有一个输入记录,即
flatMap
不能将提交拆分为多个输出消息。要么提交输入消息,要么不提交。在kafka中没有提交输出消息的概念。