TiCDC 新架构试用指南

试用 TiCDC 新架构需要什么条件?

试用 TiCDC 新架构需要安装的 TiDB 集群为 v7.5.0 及以上版本

如何体验 TiCDC 新架构?

认识 TiCDC:基于 TiUP Playground 的快速体验流程

如果你想从零开始体验 TiCDC,并且没有现成的 TiDB 集群环境,可以参考下面这个流程,只需要 copy & paste 下面的命令就能完成所有体验!

  1. 启动上游 TiDB 集群
TICDC_NEWARCH=true tiup playground nightly --ticdc 1 --tiflash 0
  1. 启动下游 TiDB 集群
tiup playground nightly --tiflash 0 --db.port 4050
  1. 创建 changefeed 同步任务
# 创建 id 为 demo 的 changefeed,将上游集群所有包含主键或者非空唯一索引的表同步到下游 TiDB 集群
tiup cdc:nightly cli changefeed create --server=http://127.0.0.1:8300 --sink-uri="mysql://root@127.0.0.1:4050/" --changefeed-id="demo"
  1. 至此,新架构已经配置完成,可以在上游集群运行任意负载,比如运行 ycsb 负载
tiup bench ycsb load tidb -p tidb.instances="127.0.0.1:4000" -p recordcount=10000
  1. 连接下游集群,查看数据同步情况
mysql --host 127.0.0.1 --port 4050 -u root -e "select count(*) from test.usertable"

测试 TiCDC 新架构:基于 TiUP Cluster 的正式体验流程

如果你想在一个比较正式的环境体验新架构 TiCDC,可以参考下面的流程。

  1. 使用 TiUP 部署一个正式的 TiDB 集群,要求是 v7.5 或者以上版本 (如果你已经有一个 TiDB 集群,可以跳过这个步骤)

  2. 部署 TiCDC 节点

    a. 如果你的集群没有 TiCDC 节点,使用 TiUP 在上面的 TiDB 集群中扩容出多个 TiCDC 节点,比如
    tiup cluster scale-out <cluster-name> ./scale-out-cdc.yaml

    b. 如果你的集群已经存在 TiCDC 节点,这个时候只需要 pause 掉所有的 changefeed 即可

  3. 下载最新的 TiCDC 版本的 binary,你可以通过以下两种方式获取下载链接:

    a.手动构建
    i.访问 pingcap/ticdc/tags 页面,找到最新的 tag,比如 v9.0.0-beta.1.pre
    ii.下载链接的格式为:https://tiup-mirrors.pingcap.com/cdc-${tag}-nightly-${os}-${arch}.tar.gz, 其中:
    (1) ${tag} 是上一步获取的最新 tag。
    (2)${os} 表示操作系统,比如 linuxdarwin(MacOS)等。
    (3) ${arch} 表示硬件架构,比如 amd64(x86-64)、arm64 等。
    iii. 示例链接:
    (1)Linux x86-64: https://tiup-mirrors.pingcap.com/cdc-v9.0.0-beta.1.pre-nightly-linux-amd64.tar.gz
    (2)Linux ARM64: https://tiup-mirrors.pingcap.com/cdc-v9.0.0-beta.1.pre-nightly-linux-arm64.tar.gz
    (3)MacOS x86-64: https://tiup-mirrors.pingcap.com/cdc-v9.0.0-beta.1.pre-nightly-darwin-amd64.tar.gz
    (4)MacOS ARM64: https://tiup-mirrors.pingcap.com/cdc-v9.0.0-beta.1.pre-nightly-darwin-arm64.tar.gz
    b.通过 TiUP 命令获取
    i.执行 tiup install cdc:nightly --force 可以获取当前平台的 TiCDC binary 下载链接


4. 将下载的 TiCDC binary patch 到集群中

tiup cluster patch <cluster-name> <path-to-download-file> -R cdc --overwrite
  1. 修改 TiCDC 配置,启用新架构
tiup cluster edit-config <cluster-name>
#vim
#cdc_servers:
# ...
# config:
#    newarch: true
  1. 目前 TiUP 已经将 TiCDC 新架构监控面板集成到 Grafana 页面中,其名称为 -TiCDC-New-Arch,可以通过该面板查看新架构相关监控指标。

  2. 至此,你已经完成了新架构的所有配置,可以开始体验了!

    a.你可以按照 TiCDC 的官方文档来创建一些 changefeed

    b. 或者如果原来已经有一些已经存在的 changefeed,这时候可以 resume 它们继续执行同步任务。

测试方向参考

测试新架构 TiCDC,可以考虑从这个几个角度入手:

  1. 模拟你的正常业务操作,如果遇到任何 bug,请反馈到这里 ticdc/issues,我们会尽快修复
  2. 观测延迟 lag 是否比之前更稳定,特别是在业务高峰期
  3. 观测资源使用率(CPU、内存)是否显著下降
  4. 测试扩容、缩容 TiCDC 集群,或者对 changefeed 进行创建、删除、pause、resume 等操作,观察 changefeed 的 lag 有什么影响,过程中流量是否平稳,是否存在不均衡的状况等
  5. 如果你之前由于表太多、DDL 太频繁或者流量太大等原因导致需要拆分 changefeed 甚至集群才能完成,可以尝试在新架构 CDC 中只用一个集群或者少数 changefeed 是否能正常同步
  6. 针对你的业务,看看 CDC 还有哪些地方可以改进的
  7. 其他测试方向

注意:TiCDC 的新架构尚未完全涵盖旧架构的全部功能,这些功能将在后续的正式发布(GA)版本中完整实现,具体包括:

活动参与奖励

  1. 活动报名奖励:点击[此处]报名活动即可获得 TiCDC 新架构试用活动参与者电子纪念徽章 + 100 积分 & 经验值奖励(可在兑换中心兑换你喜欢的 TiDB 周边 & 课程等)
  2. 参与反馈奖励:参与 TiCDC 新架构试用,点击此处进行新架构使用体验、优化建议、Bug 反馈,奖励 200 积分 & 经验值
  3. 优质反馈奖励:若反馈的 Bug 被成功复现 & 定位,将授予 TiCDC 新架构试用达人电子纪念徽章,根据反馈情况,额外奖励 100-500 积分 & 经验值不等,同时抽 5 位优质反馈的小伙伴送 TiDB 社区 2025 年新款双肩背包一个
  4. 输出文章奖励:在 TiDB 社区专栏发布 TiCDC 新架构试用体验、最佳实践的优质文章,如在新架构 TiCDC 上业务有什么变化等, 每篇文章成功发布将奖励 100-600 积分,并额外奖励 300 积分 & 经验值/篇 + TiDB 定制秋冬款冲锋衣一件

关于新架构 TiCDC 的更详细的介绍可以看这篇文章⬇️

1 个赞

前排围观 :clap:t2::clap:t2::clap:t2:

前排围观 :clap:t2::clap:t2::clap:t2:

playgroud环境下TiCDC 新架构成功跑通,
但 单机集群环境下测试遇到问题。