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