我有一个流,它将消息映射到两个不同的 map() 调用,并进一步被过滤并写入两个不同的主题。
KStream<String, byte[]>[] stream = builder.<String, byte[]>stream("source-topic");
stream.map(logic1OnData).filter(
(key, value) -> {
if (key == null || value == null)
return false;
return value.data() != null;
}).to("topic1", Produced.with(Serdes.String(), Serdes.String())
stream.map(logic2OnData).filter(
(key, value) -> {
if (key == null || value == null)
return false;
return value.data() != null;
}).to("topic2", Produced.with(Serdes.String(), Serdes.String())
有没有办法可以并行运行 stream.map(logc1OnData)... 和 stream.map(logic2OnData) ?看起来他们一个接一个地运行,即第一个映射被执行并写入topic1,然后第二个映射被执行并写入topic2 FYI ..我不想要num.threads.count,因为我的流输入来自单个主题和我正在运行同一应用程序的多个实例以从源主题主题中读取,以在使用时实现并行性。
我正在寻找的是在执行和写入不同主题时的并行性