自推出 Debezium 管理平台(Debezium 平台)以来,我们的目标一直是简化 CDC 数据管道的构建,以便您可以专注于数据如何从源流向目的地。许多用户已经在 Kafka Connect 或 Debezium Server 上运行 Debezium 连接器。

因此,为了进一步简化入门流程并快速启动,我们引入了在 Debezium 平台中重用 Kafka Connect 上的任何现有 Debezium 连接器配置或任何 Debezium Server 配置的功能。

使用智能编辑器

您现在可以使用智能编辑器来**自动格式化** Kafka Connect 上的 Debezium 连接器配置或 Debezium Server 配置,以创建数据管道或其组件,即源、目的地和转换。

有两种使用方法:

  1. 在常规资源创建流程中,在传统的基于表单的 UI 和**智能编辑器**之间切换。

  2. 或者,直接从目录页面通过智能编辑器创建资源,跳过先选择类型然后填写表单的传统流程。

您可以使用 Kafka Connect 上的 Debezium 连接器配置或 Debezium Server 配置来创建源。

使用 Kafka Connect 上的 Debezium 连接器配置源

要重用现有的 Debezium 连接器配置,您可以上传包含配置的文件,或者将配置复制并粘贴到智能编辑器中。Stage UI 会智能识别您提供的配置格式,并提示您将其重新格式化以供平台使用。

例如,考虑以下用于指定 Kafka Connect 上 Debezium MySQL 连接器配置的 JSON

{
  "name": "inventory-connector",
  "config": {
    "connector.class": "io.debezium.connector.mysql.MySqlConnector",
    "tasks.max": "1",
    "database.hostname": "mysql",
    "database.port": "3306",
    "database.user": "debezium",
    "database.password": "dbz",
    "database.server.id": "184054",
    "topic.prefix": "dbserver1",
    "database.include.list": "inventory"
  }
}

当您将此 JSON 添加到智能编辑器时,它会检测到它是为 Kafka Connect 格式化的,并显示一个警报。

智能编辑器工具栏然后会显示一个**自动格式化**选项,如前图所示。**自动格式化**选项会自动将提供的 JSON 转换为所需的 Debezium 平台 JSON 格式。

您可以选择进一步编辑 JSON,例如更新 `name` 字段的值或填充 `description` 字段。

下图显示了使用**自动格式化**选项将 MySQL 数据源的配置转换为 JSON 后得到的结果。

使用 Debezium Server 配置源

同样,您可以在**智能编辑器**中提供 Server 配置,以自动提取源配置并重新格式化,以便在 Debezium 平台中使用。有关更多信息,请参阅使用智能编辑器配置目的地

目标

您可以使用 Debezium Server 配置直接创建目的地

使用 Debezium Server 配置目的地

您可以通过上传或粘贴到智能编辑器中来直接使用 Debezium Server 配置。Stage UI 会智能识别配置类型,并提示您将其重新格式化以供平台使用。该编辑器会自动提取 Debezium Server 接收器配置,并将其转换为平台支持的 JSON 格式。

例如,考虑来自 Debezium Server 配置的以下属性

# ...
debezium.sink.type=pubsub
debezium.sink.pubsub.project.id=debezium-tutorial-local
debezium.sink.pubsub.address=pubsub:8085
debezium.source.connector.class=io.debezium.connector.mysql.MySqlConnector
debezium.source.database.hostname=mysql
debezium.source.database.server.id=223344
debezium.source.database.port=3306
debezium.source.database.user=debezium
debezium.source.database.password=dbz
debezium.source.schema.history.internal=io.debezium.storage.file.history.FileSchemaHistory
debezium.source.schema.history.internal.file.filename=data/schema.dat
debezium.source.offset.storage.file.filename=data/offsets.dat
debezium.source.offset.flush.interval.ms=0
debezium.source.topic.prefix=tutorial
debezium.source.database.include.list=inventory
debezium.source.table.include.list=inventory.customers
# ..

当您将前面的属性文件添加到智能编辑器时,它会确认它识别该文件为 Debezium Server 配置。

智能编辑器工具栏会显示一个**自动格式化**选项,如上图所示。选择此选项可自动提取接收器配置,并将接收器属性转换为 Debezium 平台支持的 JSON 格式。

下图显示了在编辑器自动格式化您添加的发布-订阅接收器属性后生成的 JSON。编辑 JSON 以更新 name 字段的值,并可选地填充 description 字段。

使用 Debezium Server 配置创建管道

在 Pipeline Designer 中,您通过将所有组件组合在一起创建数据管道:选择一个源、可选的转换以及一个目的地,可以选择现有资源或创建新资源。如果您已经有 Debezium Server 配置,您可能不想单独创建每个组件。

您现在可以将 Debezium Server 配置直接上传到**Pipeline Designer**,一步创建完整的数据管道。UI 分析配置并提取每个资源的相关设置,依次创建源、目的地和转换。

有关此功能演示的简短视频,请参阅以下视频

此视频是我们Debezium YouTube 频道的一部分!我们建议您订阅该频道,以免错过任何新视频。

更多内容即将推出!

请继续关注未来发布的进一步改进和新功能公告。

您可以在下方留下评论,或者随时通过我们的邮件列表或我们的Zulip 聊天与我们联系。

Indra Raj Shukla

Indra 是 Red Hat 的高级软件开发人员。他在 UI 开发方面拥有丰富的经验。他居住在印度班加罗尔。

   


关于 Debezium

Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。

参与进来

我们希望您觉得 Debezium 有趣且有用,并希望尝试一下。在 Twitter @debezium 上关注我们,在 Zulip 上与我们聊天,或加入我们的 邮件列表 与社区交流。所有代码都在 GitHub 上开源,因此请在本地构建代码,帮助我们改进现有连接器并添加更多连接器。如果您发现问题或有改进 Debezium 的想法,请告诉我们或 记录一个问题

版权所有 © Debezium 及其作者。保留所有权利。有关我们的商标详情,请访问我们的 商标政策商标列表。第三方商标属于其各自所有者,在此提及并不表示任何认可或关联。
×