tencent cloud

数据传输服务

动态与公告
产品动态
公告
产品简介
产品概述
数据迁移功能描述
数据同步功能描述
数据订阅(Kafka 版)功能描述
产品优势
支持的地域
规格说明
购买指南
计费概述
变更配置说明
欠费说明
退费说明
快速入门
数据迁移操作指导
数据同步操作指导
数据订阅操作指导(Kafka 版)
准备工作
业务评估
网络准备
添加 DTS IP 地址至对接数据库白名单
DTS 服务权限准备
数据库及权限准备
配置自建 MySQL 系的 Binlog
数据迁移
数据迁移支持的数据库
云数据库跨账号实例间迁移
迁移至 MySQL 系列
迁移至 PostgreSQL
迁移至 MongoDB
迁移至 SQL Server
迁移至腾讯云分布式缓存数据库
任务管理
数据同步
数据同步支持的数据库
云数据库跨账号实例间同步
同步至 MySQL 系列
同步至 PostgreSQL
同步至 MongoDB
同步至 Kafka
任务管理
数据订阅(Kafka 版)
数据订阅支持的数据库
MySQL 系列数据订阅
TDSQL PostgreSQL 数据订阅
MongoDB 数据订阅
任务管理
消费管理
前置校验不通过处理方法
检查项汇总
割接说明
监控与告警
支持的监控指标
告警通知功能
通过控制台配置指标告警和事件告警
通过 API 配置指标告警和事件告警
运维管理
配置系统维护时间
任务状态扭转说明
实践教程
本地数据库同步上云
构建双向同步数据结构
构建多对一同步数据结构
构建多活数据中心
数据同步冲突策略如何选择
使用 CLB 代理将其他账号下的数据库迁移至本账号下
通过云联网方式迁移自建数据库至腾讯云数据库
DTS 性能调优最佳实践
常见问题
数据迁移
数据同步
数据订阅 Kafka 版常见问题
数据订阅正则表达式
错误处理
常见错误处理
连通性测试不通过
校验项结果不通过或者出现警告
云联网接入配置源数据时无法选择子网
迁移慢或者进度卡住
数据同步有延时
数据订阅延迟过高
数据消费异常
API 文档
History
Introduction
API Category
Making API Requests
(NewDTS) Data Migration APIs
Data Sync APIs
Data Consistency Check APIs
(NewDTS) Data Subscription APIs
Data Types
Error Codes
DTS API 2018-03-30
相关协议
服务等级协议
文档数据传输服务实践教程构建多活数据中心

构建多活数据中心

PDF
聚焦模式
字号
最后更新时间: 2024-07-08 15:51:28

操作场景

多活数据中心是指部署在不同地域的多个数据中心同时对外提供服务,多个数据中心之间的数据可以实时同步,当某个数据中心出现灾难性事故时,可以将发生异常的数据中心的流量划拨到其他数据中心,实现跨地域的、快速故障转移,保证业务的正常运行。
多活数据中心是通过创建多个双向同步来实现,每个双向同步由两个单向同步任务来构建,所以单向同步的约束、操作限制等要求都需要满足,请参考 数据同步 中的对应同步场景。

注意事项

DTS 在执行全量数据同步时,会占用一定源端实例资源,可能会导致源实例负载上升,增加数据库自身压力。如果您数据库配置过低,建议您在业务低峰期进行。
为了避免数据重复,请确保需要同步的表具有主键或者非空唯一键,对于没有主键或者非空唯一键的表,有数据重复的风险 。
用户应提前规划好数据,每个数据中心负责更新(增、删、改)不同主键的数据,避免主键冲突或者相同主键数据互相覆盖等情况。如果因为业务原因,多个源端负责的主键存在交叉,请选择合理的冲突策略,使同步行为和数据符合预期。

应用限制

多个同步任务配置中 DDL 不能形成环形链路。
目前仅支持 MySQL,云数据库 TDSQL-C(兼容 MySQL 版)或者两者之间创建双向同步任务。

DDL 配置原则

为了方便用户理解,如下原则将结合具体的场景来解释说明,以三活地域中心为例,实例 A(北京地域),实例 B(上海地域),实例 C(广州地域),分别建立 A<->B,B<->C,C<->A 三个双向同步任务。

多个同步任务配置中 DDL 不能形成环形链路,否则可能造成 DDL 语句在系统中循环,进而引发错误。 示例:图中蓝色线条1、3、5三个同步任务中,最多只能在两个同步任务中选择 DDL,如果选择三个就构成环形链路了。
同一个库表对象不能接收多个数据中心的 DDL 同步,否则多个数据中心的 DDL 可能在目标端形成冲突,进而引发错误。 示例:实例 A 和 C 有相同名称的表需要同步到实例 B 中,则同步任务1和4中,只能在一个任务选择 DDL。
在校验阶段,同步系统会结合当前用户的所有其他同步任务,判断正在新建的同步任务是否会造成 DDL 循环或者冲突,并给出提示供用户参考。

典型场景推荐配置

多活数据中心是通过创建多个双向同步来实现,每个双向同步由两个单向同步任务来构建,多活数据中心的每个同步任务的操作步骤和普通的单向同步操作步骤一致,只是在如下配置有差异。

同步选项设置差异


本文针对典型多活数据中心场景做出以下推荐配置,请用户参考操作。
以三活地域中心为例,实例 A(北京地域),实例 B(上海地域),实例 C(广州地域),分别建立 A<->B(任务1和2),B<->C(任务3和4),C<->A(任务5和6) 三个双向同步任务。
场景
时间要求
同步任务
初始化类型
已存在同名表
冲突处理机制
同步操作类型
场景一:实例 A 有库表结构和数据,实例 B、C 为空
需要等任务1进行到“同步增量”阶段再创建任务2
任务1
结构初始化 + 全量数据初始化
前置校验并报错
请用户自行选择。冲突策略的生效对象仅对当前发生主键冲突时的主键数据。
DDL 参考配置原则进行选择,其他操作类型建议所有的同步任务保持一致。
任务2
不选择
忽略并继续执行
需要等任务3进行到“同步增量”阶段再创建任务4
任务3
结构初始化 + 全量数据初始化
前置校验并报错
任务4
不选择
忽略并继续执行
需要等任务5进行到“同步增量”阶段再创建任务6
任务5
结构初始化 + 全量数据初始化
前置校验并报错
任务6
不选择
忽略并继续执行
场景二:实例 A、B、C 都有库表结构和数据
任务1-6
全量数据初始化
忽略并继续执行

操作步骤

构建多活数据中心即创建多个双向同步,详细步骤请参考 构建双向同步数据结构

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈