【问题标题】:Custom Connector for Apache KafkaApache Kafka 的自定义连接器
【发布时间】:2022-01-09 08:27:24
【问题描述】:

我希望为 Apache Kafka 编写一个自定义连接器,以连接到 SQL 数据库以获取 CDC 数据。我想编写一个自定义连接器,这样我就可以使用一个连接器连接到多个数据库,因为所有市场连接器只为每个连接器提供一个数据库。

第一个问题:是否可以使用一个自定义连接器连接到多个数据库?另外,在那个自定义连接器中,我可以定义数据应该转到哪些主题吗?

第二个问题:我可以在 .NET 中编写自定义连接器还是必须是 Java?有没有我可以查看 .net 中数据库的 CDC 自定义连接器的示例?

【问题讨论】:

    标签: apache-kafka apache-kafka-connect confluent-kafka-dotnet


    【解决方案1】:

    没有 .NET 示例。 Kafka Connect API 仅适用于 Java,并非特定于 Confluent。

    来源在这里 - https://github.com/apache/kafka/tree/trunk/connect

    这里的依赖 - https://search.maven.org/artifact/org.apache.kafka/connect-api

    希望编写一个自定义连接器...连接到 SQL 数据库以获取 CDC 数据

    如果你真的想要这个功能,你可以扩展或贡献到 Debezium。

    使用一个自定义连接器连接到多个数据库

    如果你的意思是数据库服务器,那么不是真的,不是。每个连接器任务的 URL 必须是唯一的,并且没有 API 可以将任务编号映射到配置值。如果您的意思是一台服务器和多个数据库模式,那么我也不认为真的有可能在具有多个任务的单个连接器中正确“分发”(这就是为什么 Debezium 中的 database.names 配置目前仅支持一个名称)。

    探索了 debezium,但它对我们不起作用,因为我们有微服务架构,并且我们为许多客户提供 1000 多个数据库,并且 debezium 为每个表创建一个主题,这意味着它将是一个庞大的架构

    Kafka 可以很好地处理数千个主题。例如,如果您在 Kubernetes 中运行连接器进程,那么它们可以从那里集中部署、扩展和配置。

    但是,我仍然担心您需要所有数据库来捕获 CDC 事件。

    之前也有人建议使用Maxwell

    【讨论】:

      猜你喜欢
      • 2020-01-07
      • 2022-08-16
      • 1970-01-01
      • 2019-08-08
      • 2019-08-06
      • 2019-12-21
      • 2021-01-13
      • 2021-10-29
      • 2019-11-15
      相关资源
      最近更新 更多