Kafka streams topic merge 消息消费顺序

Kafka streams topic merge message consumption order

我正在构建一个将多个主题合并为一个的 kafka 流应用程序。

应用程序似乎想要读取第一个主题中的所有消息,然后才继续读取下一个主题。我希望我的应用程序在消耗 100 条记录后从另一个主题切换阅读。

kafka 流是否可行?

编辑:使用 KStream::merge 合并流并进行状态转换:

kstream1.merge(kstream2)
    .merge(kstream3)
    ...
    .merge(kstreamN)
    .transform(transformer, stateStore)
    .to(output)

应用程序是单线程的,所有主题都有一个分区。

不确定你写的是什么程序,但最简单的方法是 stream1.merge(stream2)。对于这种情况,应根据时间戳顺序在两者之间交错处理数据。

使用自定义时间戳提取器,您可以以 100 条记录为增量在两者之间交错。