Debezium CDC 变更数据捕获
Debezium 通过 Kafka Connect 读取数据库的 binlog/WAL/oplog,把行级变更写入 Kafka。它支持 MySQL、PostgreSQL、MongoDB、SQL Server、Oracle 等。
curl -X POST http://connect:8083/connectors \
-H 'Content-Type: application/json' \
-d @mysql-connector.json
curl -s http://connect:8083/connectors/mysql-source/status
MySQL 连接器要点:
{
"name": "mysql-source",
"config": {
"connector.class": "io.debezium.connector.mysql.MySqlConnector",
"database.hostname": "db",
"database.port": "3306",
"database.user": "debezium",
"database.password": "secret",
"database.server.id": "184054",
"topic.prefix": "app",
"database.include.list": "appdb",
"schema.history.internal.kafka.bootstrap.servers": "kafka:9092",
"schema.history.internal.kafka.topic": "schema-changes.app"
}
}
binlog_format=ROW 和足够的保留时间。wal_level=logical,并给表配置合适的 replica identity。kafka-connect — 运行连接器schema-registry — Schema 管理kafka-topics — 目标 topic