SuperAPI AI 工具集

molt-replicator

数据与分析

查看项目

更新于 10-15 20:13

技能介绍

用途:molt-replicator 用于从源数据库到 CockroachDB 的持续变更数据捕获(CDC)复制,通常在 molt fetch 完成初始批量加载后运行。它是独立于 molt 的二进制程序,不由 molt fetch 调用;molt fetch 中的“加载并复制”模式已弃用,应直接使用 replicator。

主要能力:按源类型提供子命令,PostgreSQL 用 replicator pglogical,MySQL 用 replicator mylogical,Oracle 用 replicator oraclelogminer,另有 kafka、objstore 和 CockroachDB CDC 的 replicator start。架构为源库经 replicator 写入目标 CRDB 集群上的暂存 schema(_replicator),再应用到目标表。

使用方式:先执行 molt fetch 完成初始加载,在源库创建 publication,在目标创建 _replicator 数据库,再用 replicator preflight 测试连通性,然后启动对应子命令并指定 --sourceConn、--stagingConn、--stagingSchema、--targetConn、--targetSchema 等参数。可通过 --metricsAddr 暴露 Prometheus 指标,用 curl 查看 lag 与已应用变更数,待延迟接近 0 后切换写入并停止 replicator。

适用场景:PostgreSQL、MySQL、Oracle 等迁移到 CockroachDB 时的持续同步与切换。

限制:暂存数据库需先手动创建;publication 与 slot 名称需与 molt fetch 侧一致;DLQ 表会增长需定期清理;replicator 持有源库复制槽会阻塞 WAL 清理,需监控源磁盘;无内置告警,需外部基于指标配置;优雅关闭依赖 --gracePeriod(默认 30s)。