1.2. Debezium 架构的描述


您可以使用 Apache Kafka Connect 部署 Debezium。Kafka Connect 是一个用于实现和操作的框架和运行时:

  • 源连接器,如将记录发送到 Kafka 的 Debezium
  • 将记录从 Kafka 主题传播到其他系统的接收器连接器

下图显示了基于 Debezium 的更改数据捕获管道的架构:

Debezium 架构

如镜像所示,部署了 MySQL 和 PostgresSQL 的 Debezium 连接器,以捕获对这些两种类型的数据库的更改。每个 Debezium 连接器建立到其源数据库的连接:

  • MySQL 连接器使用客户端库来访问 binlog
  • PostgreSQL 连接器从逻辑复制流读取。

除了 Kafka 代理外,Kafka Connect 作为单独的服务运行。

默认情况下,从一个数据库表的更改写入一个 Kafka 主题,其名称与表名称对应。如果需要,您可以通过配置 Debezium 的主题 路由转换来调整目标主题名称。例如,您可以:

  • 将记录路由到名称与表名称不同的主题
  • 将多个表的流更改事件记录到一个主题中

在 Apache Kafka 中更改事件记录后,Kafka Connect 生态系统中的不同连接器可以将记录流传输到其他系统和数据库,如 Elasticsearch、数据仓库和分析系统或缓存,如 Infinispan。根据所选的接收器连接器,您可能需要配置 Debezium 新记录状态提取 转换。此 Kafka Connect SMT 将 Debezium 更改事件中的 after 结构传播到接收器连接器。修改的更改事件记录替换默认传播的原始、更详细记录。

Debezium Server

您还可以使用 Debezium Server 部署 Debezium。Debezium 服务器是一个可配置的可随时使用的应用程序,它将事件从源数据库改为各种消息传递基础架构。

重要

Debezium Server 只是开发者预览软件。红帽不支持开发人员预览软件,且功能完整或生产就绪。不要将开发人员预览软件用于生产环境或关键业务工作负载。开发人员预览软件提供早期对即将推出的产品软件的访问权限,以将其包括在红帽产品产品中。客户可以使用此软件来测试功能并在开发过程中提供反馈。此软件可能没有任何文档,可以随时更改或删除,并且已获得有限的测试。红帽可能会提供在没有关联 SLA 的情况下对开发者预览软件提交反馈的方法。

有关 Red Hat Developer Preview 软件的支持范围的更多信息,请参阅 开发人员预览支持范围

下图显示了使用 Debezium 服务器的更改数据捕获管道的架构:

Debezium 架构

您可以将 Debezium 服务器配置为使用一个 Debezium 源连接器来捕获源数据库中的更改。更改事件可以序列化为不同的格式,如 JSON 或 Apache Avro,然后发送到各种消息传递基础架构之一,如 Apache Kafka 或 Redis Streams。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.