数据同步要灵活隔离?TiCDC 独立部署 vs 混合部署该怎么选?

0 阅读8分钟

背景

TiCDC 是平凯数据库(TiDB 企业版)的增量数据同步工具,通过拉取 TiKV 的数据变更日志,将增量数据实时同步到下游系统。它支持将数据同步到平凯数据库、MySQL 数据库、Kafka 以及存储服务等,广泛应用于容灾备份、数据分发等场景。

随着业务场景的多样化,用户对 TiCDC 的部署模式也提出了新的需求:不同团队需要独立管理各自的 TiCDC 集群、不同环境需要隔离部署、以及降低故障影响范围等。为此,平凯数据库 v7.1.8-5.5 引入了 TiCDC 独立部署模式,支持多套 TiCDC 集群监听同一套上游平凯数据库集群,且集群之间互相隔离,运维管理独立。该模式与现有的混合部署模式形成互补,为企业提供更灵活的选择。

混合部署与独立部署:两种模式的特点与适用场景

混合部署模式:简洁高效的经典选择

在混合部署模式中(即 TiCDC 随上游集群一起通过 tiup cluster 命令进行部署),TiCDC 组件与上游平凯数据库集群部署在一起,共享集群的 PD (Placement Driver) 作为元数据存储。这种模式的主核心优势在于:

1. 架构简洁,运维成本低

  • TiCDC 直接使用上游集群的 PD,无需部署额外的元数据存储

  • 部署拓扑简单, 适合快速搭建和验证

  • 监控、告警与上游集群统一管理,运维复杂度低

2. 配置管理集中

  • 所有 changefeed 统一在上游 PD 中管理

  • 适合单一团队或运维边界清晰的场景

  • 快速定位问题和调整配置

适用场景:

  • 单一业务团队管理的平凯数据库集群

  • 希望快速完成 TiCDC 部署和功能验证的场景

独立部署模式:灵活隔离的新选择

独立部署模式下(即使用全新的 tiup cm 工具,独立于平凯数据库的 tiup cluster 进行部署和自行管理),TiCDC 使用独立的 etcd 集群存储元数据, 与上游平凯数据库集群完全解耦。这种模式的核心特点包括:

1. 元数据独立管理

  • 使用独立的 etcd 集群存储元数据,不依赖上游 PD

  • 不同团队的 changefeed 配置互不可见、互不影响

  • TiCDC 的运维与上游集群完全解耦

2. 资源与故障域隔离

  • TiCDC 拥有独立的服务器资源池、网络带宽和监控体系

  • TiCDC 集群的故障不影响上游平凯数据库业务

  • 支持跨网段部署(配合 TiGateway)

3. 灵活的运维与权限管理

  • 每个团队独立管理自己的 TiCDC 集群(使用 tiup cm)

  • 清晰的权限边界, 适合多团队协作场景

  • 独立的扩容、升级、维护节奏

适用场景:

  • 多个业务团队共享同一上游集群, 需要资源隔离

  • 将数据同步能力作为共享服务对外提供

  • 存在多个下游消费端,且希望在 TiUP 运维和 PD 管理上为上游减负(上游只需关心平凯数据库自身核心组件,同步组件由订阅方自行部署和管理)

  • 配合 TiGateway 实现高可用和安全的跨网段访问

  • 对运维边界和权限有明确要求

如何选择?两种模式的对比与建议

image.png

选择建议:

  • 选择混合部署:单一团队管理、下游消费端较少的场景、希望简化总体运维

  • 选择独立部署:多团队共享、多下游消费端、需要为上游管控(TiUP/PD)减负、跨网段访问

重要说明:两种模式并非替代关系, 而是互补关系。企业可以根据实际需求灵活选择,甚至在同一套环境中混合使用两种模式。

部署架构对比

混合部署:关于混合部署的架构与详细配置,请参考 平凯数据库官方文档: TiCDC 概述

独立部署:独立部署的 TiCDC 集群包含以下核心组件

关键配置要点

说明:下面提供的拓扑配置示例仅为精简版,用于快速了解独立部署的组件关系。完整的参数说明与详细配置项,请等待并在后续参考平凯数据库官方文档的最新更新。

独立部署 (配合 TiGateway) 通过部署 TiGateway 组件作为访问网关, 不仅能实现安全的跨网段同步,还提供了上游状态动态感知和高可用支撑能力。此时独立部署拓扑配置如下:

# TiCDC 独立部署配合 TiGateway 拓扑示例
cdc_servers:
  - host: 10.0.2.5
    config:
      tigateway: "10.0.1.5:1080"
      tigateway-status: "10.0.1.5:8000"

etcd_servers:
  - host: 10.0.2.4

TiCDC 的核心优势:核心能力概览

除了独立部署带来的灵活性, TiCDC 自身还具备众多技术优势。根据官方文档,TiCDC 提供了以下核心能力:

  • 提供平凯数据库 -> 平凯数据库之间数据容灾复制的能力,实现秒级别 RPO 和分钟级别 RTO

  • 提供平凯数据库之间双向复制的能力,支持通过 TiCDC 构建多写多活的平凯数据库集群

  • 提供平凯数据库 -> MySQL(或其他兼容 MySQL 协议的数据库)的低延迟的增量数据同步能力

  • 提供平凯数据库 -> Kafka 增量数据同步能力,推荐的数据格式包含 Canal-JSON,Avro,Debezium 等

  • 提供平凯数据库 -> 存储服务(如:Amazon S3、GCS、Azure Blob Storage 和 NFS)增量数据同步能力

  • 提供表级别数据同步能力,支持同步过程中过滤数据库、表、DML、DDL 的能力

  • 高可用架构,无单点故障;支持动态添加、删除 TiCDC 节点

  • 支持通过 Open API 进行集群管理,包括查询任务状态;动态修改任务配置;动态创建、删除任务等

如何开始使用 TiCDC 独立部署?

环境准备

服务器配置要求:

image.png

核心组件:

  • cdc:TiCDC 同步引擎二进制文件

  • etcd:独立元数据存储

  • cm:TiUP 集群管理组件

  • 监控组件:Prometheus、Grafana、Alertmanager(可选)

快速部署步骤

1. 部署上游 TiGateway

在部署独立的 TiCDC 集群之前,首先需要在上游平凯数据库集群中部署 TiGateway 组件:

# 上游集群拓扑中添加 TiGateway 示例
tigateway_servers:
  - host: 10.0.1.5
    port: 1080           # 服务端口
    status_port: 8000    # 状态端口

(具体可使用 tiup cluster 进行部署或扩容)

2. 解压安装包

此步开始进行独立部署 TiCDC 集群的步骤

tar xzvf ticdc-standalone-{version}-linux-{arch}.tar.gz
sh ticdc-standalone-{version}-linux-{arch}/local_install.sh
source ~/.bash_profile

3. 准备拓扑配置文件

# cm-topo.yaml
global:
  user: "tidb"
  deploy_dir: "/cm-deploy"
  data_dir: "/cm-data"

etcd_servers:
  - host: 10.0.2.4

cdc_servers:
  - host: 10.0.2.5
    config:
      tigateway: "10.0.1.5:1080"
      tigateway-status: "10.0.1.5:8000"

4. 部署并启动集群

# 部署独立 TiCDC 集群
tiup cm deploy ticdc-standalone {version} cm-topo.yaml -u root -p

# 启动独立 TiCDC 集群
tiup cm start ticdc-standalone

# 查看独立 TiCDC 集群状态
tiup cm display ticdc-standalone

5. 创建同步任务

# 创建 changefeed
cdc cli changefeed create \
  --server="http://10.0.2.5:8300" \
  --sink-uri="mysql://user:pass@downstream:3306/" \
  --changefeed-id="sync-to-mysql"

常用运维命令

# 扩容 TiCDC 节点
tiup cm scale-out ticdc-standalone scale-out.yaml

# 缩容 TiCDC 节点
tiup cm scale-in ticdc-standalone -N 10.0.2.6:8300

# 查看独立 TiCDC 集群拓扑
tiup cm display ticdc-standalone

# 销毁独立 TiCDC 集群
tiup cm destroy ticdc-standalone

TiGateway:网络隔离与高可用场景的必备网关

当采用独立部署时, 需要在上游平凯数据库集群中准备好 TiGateway 组件。

TiGateway 的作用:

  • **统一访问入口:**下游 TiCDC 通过 TiGateway 访问上游平凯数据库集群

  • **动态感知:**自动感知上游 PD 的扩缩容变化,支撑架构高可用

  • **访问控制:**白名单机制, 仅允许访问授权的平凯数据库资源

部署后, TiCDC 配置中填写 TiGateway 地址即可:

cdc_servers:
  - host: 10.0.2.5
    config:
      tigateway: "10.0.1.5:1080"
      tigateway-status: "10.0.1.5:8000"

结语

TiCDC 独立部署的推出,丰富了平凯数据库的数据同步部署选项, 为不同业务场景提供了更多可能性。通过独立的元数据管理和资源隔离, 独立部署模式在多团队共享、资源隔离等场景下展现出独特优势。

同时,混合部署模式凭借其简洁高效的特点,在单一业务团队管理和希望快速完成部署验证的场景下依然是优秀的选择。两种部署模式各有所长, 互为补充,企业可以根据团队规模、运维模式、资源预算等实际因素, 选择最适合的部署方案。

欢迎联系我们:pingkai.cn/contact?src…

获取最新平凯数据库(TiDB 企业版)最新安装包,立即体验 TiCDC 独立部署,开启数据同步的新篇章!