消息队列 CKafka 版 数据库到 CKafka 使用 DTS 方案

简述:先双写后单写,完成平滑迁移。具体迁移步骤如下1. 双写:先在 DTS 平台建立和 CKafka 连接器功能一样的数据同步任务,都同步到相同的 topic(可以在 CKafka 控制台查询 topic 信息)。

相关产品
消息队列 CKafka 版 产品页,含版本规格、价格与购买入口。

一、一、迁移场景

·目标:数据库数据同步到 CKafka。

·存量迁移方案:平滑迁移,采用双写到单写的迁移模式。

·新增的同步链路请直接参考这篇档第四部分。

二、二、迁移步骤

2. 数据库的增量数据会同时经过2个链路写到 CKafka,数据会有少量重复。

3. 单写:DTS 的数据同步任务正常运行后,停止 CKafka 的连接器任务,实现单写。

4. CKafka 控制台停止连接器任务,只用 DTS 的数据同步任务,topic 数据不再重复生产。

风险:topic 数据会有少量重复。

建议:在业务低峰期操作,减少影响。

三、3.1. 方案对比

方案 方案1:主动迁移,提前规避风险。 方案2:被动迁移,防止二次故障。
思路 低峰期启动 DTS 数据同步,下线连接器。 在连接器故障后,启动 DTS 数据同步任务。把 DTS 数据同步任务提前建立好,让其处于暂停状态,不启动;连接器故障或者异常后,再开启 DTS 数据同步任务。
优点 主动行为,低峰期操作,风险可控。 现有任务不动,业务不受影响。
缺点 导入 CKafka 的数据会有少量重复。 故障后的止损预案,时效性低,故障影响面不可控;CKafka 可能缺少故障期间的数据。
其他 – 回滚方案双写阶段:如果遇到 DTS 数据同步任务不符合预期,可以直接在 DTS 平台暂停或者删除任务;单写阶段:如果发现数据不符合预期,可以把连接器再次启动,同时把 DTS 数据同步任务暂停。兜底预案:DTS 同步数据任务暂停或者删除;CKafka 连接器任务重启。

四、3.2. 注意事项

数据库 mongoDB 只能采用 DTS 自建的 Kafka 集群,有很多限制,业务改造成本高。主要如下:

·topic 和消费组不能自定义。

·CKafka server 地址需更换。

·业务需要改配置,发布上线。

解法:需要向 DTS 提需求单 – mongoDB 支持数据同步到 Kafka 功能。

五、四、POC 验证

使用数据传输服务 DTS 将 MySQL/MariaDB/Percona/TDSQL-C MySQL 数据同步至腾讯云数据库 CKafka 的过程。

源数据库支持的部署类型如下:

·自建 MySQL、第三方云厂商 MySQL、腾讯云数据库 MySQL。

·自建 MariaDB、腾讯云数据库 MariaDB。

·自建 Percona。

·腾讯云数据库 TDSQL-C MySQL。

详细操作请参见 数据同步操作指导。

MongoDB 使用 DTS 数据订阅的方式。

·暂时不能同步到 CKafka 实例,可以同步到 DTS 的 Kafka集群。

详细操作请参见 MongoDB数据订阅。

六、4.1. MySQL/MariaDB/Percona/TDSQL-C MySQL 连接器迁移 DTS SOP

这几类数据库(MySQL/MariaDB/Percona/TDSQL-C MySQL)操作类似,下面以 MySQL 为例。

步骤1:在 消息队列 CKafka 版控制台单击连接器 > 任务列表并单击需要同步的数据库表和 topic 信息。

步骤2:DTS 平台新建同步任务。

·在云数据库 TencentDB 控制台中,单击数据传输服务 > 数据同步 > 新建同步任务。

·选择同步的实例类型:选定好源实例类型和目标实例类型。

·创建后,在列表中单击配置,然后根据提示配置数据库信息和 Kafka topic 信息。

·选择源库实例 ID 和目标库 Kafka 的实例 ID,并按需要配置其他选项。

·同步任务校验通过后,可以启动任务。

·回到数据同步列表,可以看到任务正常运行。

·观察任务状态是否正常。

步骤3:回到 CKafka 控制台,停止连接器任务。

七、4.2. MongoDB 连接器迁移 DTS SOP

·数据传输服务类型选择“数据订阅”,数据库选择 MongoDB。

·进入云数据库 TencentDB 控制台,左侧导航栏单击数据订阅并找到列表中的订阅,单击配置订阅。

·按提示配置订阅。

·在订阅详情中,可以获取到 Kafka 的 订阅 topic 和 内网地址(server 地址)。

赞 (0)
上一篇 4天前
下一篇 4天前