TiCDC双向同步是如何解决循环复制问题的?

1.在TiCDC双向同步场景中,一条update从一个TiDB A集群被同步到另一个TiDB B集群,TiCDC是如何避免这条update在B集群上生效后,又被同步回A集群的?
2.目前在7.5.1及以上版本中,TiCDC还存在哪些风险点和不稳定因素吗?是否推荐在生产环境中使用?

有这些使用限制
https://docs.pingcap.com/zh/tidb/stable/ticdc-bidirectional-replication/#使用限制

cdc 会在 tikv 中做标记,用来判断是否是 ticdc 同步的数据

业务层解决最好了这个双向的

这个有没有文档说明或者代码片段呢

业务侧如何解决这种问题呢?

不用担心这个问题,因为 tidb 是有 cluster id 的,这个是唯一标识

搭建的两个集群的标识是不一样的,所以 TICDC 去捕获数据的时候,会带有不同集群的标识。这个原理和 Mysql 双主同步类似


双向复制的集群不具备检测写冲突的功能,写冲突将会导致未定义问题。你需要在业务层面保证不出现写冲突。
你要关注文档中的这句话,只指的两个集群,不能同时写入同一条数据,数据库是没办法知道的

1 个赞

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。