java - Kafka Streams DSL 到处理器 API 之间有什么区别

标签 java apache-kafka

根据我从这里读到的内容: https://docs.confluent.io/3.0.0/streams/developer-guide.html#streams-developer-guide-processor-api

与我理解的不同之处在于,我可以在处理器 API 中更具体地了解哪些记录序列化程序进入流(源)到哪些退出流(接收器),并且在流 DSL 中它必须相同。

是否可以使用 KStreamBuilder 和 TopologyBuilder 创建一个 Kstream,从而产生完全相同的流? 如果可以的话我可以看一个例子吗?

最佳答案

... and in the stream DSL it must be the same.

我认为这是不对的。您可以从输入流中获取消息,更改值甚至键,然后将它们放在不同的输出流上。

final KStream<String, String> inputStream = builder.stream("inputStream");
...
inputStream
    .filter(this::acceptCertainMessages)
    .transform(new MyTransformerSupplier<String, String>("store"), "store")
    .to("outputStream");

关于java - Kafka Streams DSL 到处理器 API 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46829362/

相关文章:

java - 尝试使用 DOM 解析 XML 文件时出现 NullPointerException

java - 如何从 Kotlin/Java 中运行 Kotlin-Script (.kts) 文件?

java - 通过 Spring-Kafka 列出 Kafka 主题

go - 使用 kafka go 读取 __consumer_offsets

azure - 是否可以将 Apache Kafka 连接到 Azure SQL 数据库?

python-3.x - 语法错误 : invalid syntax in running python kafka code

java - 使用 JAXB 或类似的东西自动填充 HATEAOS 链接?

java - 尝试将本地页面加载到 JavaFX webEngine

java - 在 Eclipse 中设置的运行时堆大小

java - 当我只想并发读取ConsumerRecords时,是否必须同步ConsumerRecords?