apache-kafka - 连续收听一个主题,获取数据,执行一些基本的清理
问题描述
我将构建一个基于 Java 的 Kafka 流应用程序,它将持续监听主题 X、获取数据、执行一些基本清理并写入 Oracle 数据库。kafka 集群在我的域之外,无法在其中部署任何代码或配置。
设计这种解决方案的最佳方法是什么?我遇到了 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 工作程序。
推荐阅读
- javascript - 使用 xpath 获取表中的标签计数
- javascript - 需要我的 JSP 页面上的浏览按钮来选择文件夹(不是文件)
- php - 使用 PHP 的 SQL MIN() 函数值,如何获取 MIN() 函数的值并使用它?
- postgresql - go-pg v9.2.0 中的开始事务错误
- batch-file - Vbscript从批处理文件运行而不将击键发送到批处理文件
- html - Bootstrap 4 - 响应式表格移动,精确宽度桌面
- hive - 如何更改 mapreduce/hive 作业中的物理内存?
- python - 如何在没有bmm的pytorch中执行批量乘法?
- reactjs - 传递带有 props 的组件以由其他组件呈现
- jquery - 如何用 jquery 保存 css 属性?