试用 TiCDC 新架构需要什么条件?
试用 TiCDC 新架构需要安装的 TiDB 集群为 v7.5.0 及以上版本
如何体验 TiCDC 新架构?
认识 TiCDC:基于 TiUP Playground 的快速体验流程
如果你想从零开始体验 TiCDC,并且没有现成的 TiDB 集群环境,可以参考下面这个流程,只需要 copy & paste 下面的命令就能完成所有体验!
- 启动上游 TiDB 集群
TICDC_NEWARCH=true tiup playground nightly --ticdc 1 --tiflash 0
- 启动下游 TiDB 集群
tiup playground nightly --tiflash 0 --db.port 4050
- 创建 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"
- 至此,新架构已经配置完成,可以在上游集群运行任意负载,比如运行 ycsb 负载
tiup bench ycsb load tidb -p tidb.instances="127.0.0.1:4000" -p recordcount=10000
- 连接下游集群,查看数据同步情况
mysql --host 127.0.0.1 --port 4050 -u root -e "select count(*) from test.usertable"
测试 TiCDC 新架构:基于 TiUP Cluster 的正式体验流程
如果你想在一个比较正式的环境体验新架构 TiCDC,可以参考下面的流程。
-
使用 TiUP 部署一个正式的 TiDB 集群,要求是 v7.5 或者以上版本 (如果你已经有一个 TiDB 集群,可以跳过这个步骤)
-
部署 TiCDC 节点
a. 如果你的集群没有 TiCDC 节点,使用 TiUP 在上面的 TiDB 集群中扩容出多个 TiCDC 节点,比如
tiup cluster scale-out <cluster-name> ./scale-out-cdc.yaml
b. 如果你的集群已经存在 TiCDC 节点,这个时候只需要 pause 掉所有的 changefeed 即可
-
下载最新的 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} 表示操作系统,比如linux
、darwin
(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
- 修改 TiCDC 配置,启用新架构
tiup cluster edit-config <cluster-name>
#vim
#cdc_servers:
# ...
# config:
# newarch: true
-
目前 TiUP 已经将 TiCDC 新架构监控面板集成到 Grafana 页面中,其名称为 -TiCDC-New-Arch,可以通过该面板查看新架构相关监控指标。
-
至此,你已经完成了新架构的所有配置,可以开始体验了!
a.你可以按照 TiCDC 的官方文档来创建一些 changefeed
b. 或者如果原来已经有一些已经存在的 changefeed,这时候可以 resume 它们继续执行同步任务。
测试方向参考
测试新架构 TiCDC,可以考虑从这个几个角度入手:
- 模拟你的正常业务操作,如果遇到任何 bug,请反馈到这里 ticdc/issues,我们会尽快修复
- 观测延迟 lag 是否比之前更稳定,特别是在业务高峰期
- 观测资源使用率(CPU、内存)是否显著下降
- 测试扩容、缩容 TiCDC 集群,或者对 changefeed 进行创建、删除、pause、resume 等操作,观察 changefeed 的 lag 有什么影响,过程中流量是否平稳,是否存在不均衡的状况等
- 如果你之前由于表太多、DDL 太频繁或者流量太大等原因导致需要拆分 changefeed 甚至集群才能完成,可以尝试在新架构 CDC 中只用一个集群或者少数 changefeed 是否能正常同步
- 针对你的业务,看看 CDC 还有哪些地方可以改进的
- 其他测试方向
注意:TiCDC 的新架构尚未完全涵盖旧架构的全部功能,这些功能将在后续的正式发布(GA)版本中完整实现,具体包括:
活动参与奖励
- 活动报名奖励:点击[此处]报名活动即可获得 TiCDC 新架构试用活动参与者电子纪念徽章 + 100 积分 & 经验值奖励(可在兑换中心兑换你喜欢的 TiDB 周边 & 课程等)
- 参与反馈奖励:参与 TiCDC 新架构试用,点击此处进行新架构使用体验、优化建议、Bug 反馈,奖励 200 积分 & 经验值
- 优质反馈奖励:若反馈的 Bug 被成功复现 & 定位,将授予 TiCDC 新架构试用达人电子纪念徽章,根据反馈情况,额外奖励 100-500 积分 & 经验值不等,同时抽 5 位优质反馈的小伙伴送 TiDB 社区 2025 年新款双肩背包一个
- 输出文章奖励:在 TiDB 社区专栏发布 TiCDC 新架构试用体验、最佳实践的优质文章,如在新架构 TiCDC 上业务有什么变化等, 每篇文章成功发布将奖励 100-600 积分,并额外奖励 300 积分 & 经验值/篇 + TiDB 定制秋冬款冲锋衣一件
关于新架构 TiCDC 的更详细的介绍可以看这篇文章⬇️