1.2. Debezium 架构描述
您可以使用 Apache Kafka Connect 部署 Debezium。Kafka Connect 是一个用于实施和操作的框架和运行时:
- 源连接器,如将记录发送到 Kafka 的 Debezium
- 将记录从 Kafka 主题传播到其他系统的接收器连接器
下图显示了基于 Debezium 的更改数据捕获管道的架构:
如镜像所示,为 MySQL 和 PostgresSQL 部署 Debezium 连接器,以捕获对这两种类型的数据库的更改。每个 Debezium 连接器建立与源数据库的连接:
-
MySQL 连接器使用客户端库来访问
binlog
。 - PostgreSQL 连接器从逻辑复制流读取。
除了 Kafka 代理外,Kafka Connect 作为单独的服务运行。
默认情况下,从一个数据库表中的更改被写入 Kafka 主题,其名称与表名称对应。如果需要,您可以通过配置 Debezium 的主题 路由转换来调整目标主题名称。例如,您可以:
- 将记录路由到名称与表名称不同的主题
- 在一个主题中,多个表的流更改事件记录
在 Apache Kafka 中更改了事件记录后,Kafka Connect eco-system 中的不同连接器可以将记录流传输到其他系统和数据库,如 Elasticsearch、数据科学家和分析系统或 Infinispan 等缓存。根据所选的接收器连接器,您可能需要配置 Debezium 的新记录状态提取 转换。此 Kafka Connect SMT 将 after
结构从 Debezium 的更改事件传播到接收器连接器。这是默认传播的详细更改事件记录。