使用Kafka Connect构建数据转换服务



Kafka Streams很好,但我必须非常手动地完成每一项配置。相反,Kafka Connect提供了它的API接口,这对于处理配置以及任务、工人等非常有用

因此,我正在考虑将KafkaConnect用于我的简单数据转换服务。基本上,服务将从一个主题读取数据,并将转换后的数据发送到另一个主题。为了做到这一点,我必须制作一个自定义的Sink连接器,将转换后的数据发送到kafka主题,然而,这些接口功能似乎在SinkConnector中不可用。如果我能做到这一点,那就太好了,因为我可以通过RESTneneneba API管理任务和工作人员,并在分布式模式下运行任务(多个实例(。

我脑海中有两个选项:

  • 弄清楚如何将消息从SinkConnector发送到kafka主题
  • 了解如何构建像Kafka Connect这样的REST接口API,该接口将封装Kafka Streams应用程序

有什么想法吗?

  • 了解如何将消息从SinkConnector发送到kafka主题

接收器连接器会消耗Kafka主题中的数据/消息。如果您想将数据发送到Kafka主题,那么您可能在谈论源连接器。

  • 了解如何构建像Kafka Connect这样的REST接口API,该接口将完成Kafka Streams应用程序

使用kafka-connect-archtype,您可以有一个模板来创建自己的kafka连接器(源或接收器(。在您想要在连接器之后构建一些流处理管道的情况下,您主要讨论的是另一个不是Kafka流的流处理引擎的连接器。存在用于Kafka&lt->火花,卡夫卡&lt->Flink。。。

但如果你愿意,你可以使用kafka-connect-archtype的模板来构建你的。使用MySourceTaskList<SourceRecord> poll()方法或MySinkTaskput(Collection<SinkRecord> records)方法将记录作为流处理。他们从Kafka连接扩展了org.apache.kafka.connect.[source.SourceTask|sink.SinkTask]

像Kafka Connect这样的REST接口API,它封装了Kafka Streams应用程序

这正是KsqlDB允许您进行的

除了使用SQL查询创建流和表之外,它还提供了一个REST API,并可以与Connect端点交互(或嵌入Connect工作者本身(

https://docs.ksqldb.io/en/latest/concepts/connectors/

最新更新