首页 > 解决方案 > 连续收听一个主题,获取数据,执行一些基本的清理

问题描述

我将构建一个基于 Java 的 Kafka 流应用程序,它将持续监听主题 X、获取数据、执行一些基本清理并写入 Oracle 数据库。kafka 集群在我的域之外,无法在其中部署任何代码或配置。

设计这种解决方案的最佳方法是什么?我遇到了 Kafka Streams,但对它是否可以用于“主题 >​​ 流程 > 主题”场景感到困惑?

标签: apache-kafkakafka-consumer-apiapache-kafka-streams

解决方案


我遇到了 Kafka Streams,但对它是否可以用于“主题 >​​ 流程 > 主题”场景感到困惑?

绝对地。

例如,不包括“处理”步骤,它是配置设置之外的两行。

final StreamsBuilder builder = new StreamsBuilder();
builder.stream("streams-plaintext-input").to("streams-pipe-output");

此代码直接来自文档


如果您想写入任何数据库,您应该首先检查是否有 Kafka Connect 插件可以为您执行此操作。Kafka Streams 不应该真正用于读取/写入 Kafka 之外的外部系统,因为它对延迟敏感。

在您的情况下,JDBC 接收器连接器会很好地工作。

kafka 集群在我的域之外,无法在其中部署任何代码或配置。

使用上述任一解决方案,您都不需要,但您需要一些安装了 Java 的机器来运行连续的 Kafka Streams 应用程序和/或 Kafka Connect 工作程序。


推荐阅读