apache-kafka - 流处理器(低级 API)源处理器如何从主题中获取数据?
问题描述
我是kafka流处理器的新手,遇到了“拓扑”的关键概念。
我创建了从“源主题”读取的源处理器,如下所示:
Topology topology = new Topology();
topology.addSource("SOURCE", "source-topic");
上面的代码片段将创建(如果我的理解是正确的)一个名为“SOURCE”的源流处理器,并会监听 kafka 主题“source-topic”。
我没有为这个“SOURCE”流处理器编写任何代码,它如何能够从 kafka 主题中获取消息?它是由 kafka 流 API 本身处理的“特殊”类型的流处理器吗?
谁能帮我理解这一点?
解决方案
拓扑从源节点开始从 Kafka 获取数据,然后包含一堆处理器节点来执行转换,最后以接收器节点结束,以将转换后的数据写入 Kafka。
addSource()
将在您的拓扑中创建一个源节点。源节点使用指定主题的记录并将它们传递给拓扑中的下一个节点。它不执行任何其他逻辑。在幕后,一个源节点将启动一个 Kafka Consumer 来获取记录。
Kafka Streams API 使您能够专注于您的逻辑(在处理器中),而不是处理消费者和生产者。
推荐阅读
- python - 从nodejs产生的python进程读取输出的问题
- php - 从WordPress中的最后一篇文章中获取第一张图片
- c - 计算C中一个句子中单词的出现次数
- c# - Microsoft Office interop Excel 中是否有任何选项隐藏保存对话框?
- javascript - 如何使用一些可选模块构建多包节点模块
- javascript - 如何在 Jquery 选择器中使用变量
- google-apps-script - 问:如何将 URL 域列表转换为完整 url
- google-cloud-platform - terraform 资源 google_compute_instance_group_named_port 始终重新创建
- highcharts - 如何将不同的背景颜色应用于 highcharts 中不同系列的整个工具提示
- c++ - 如何从c ++中的函数返回多个变量