你在使用TiCDC时踩过什么坑,线上使用有何[最佳实践]建议?

如果同步到下游tidb集群(下游tidb集群当作异地高可用),从数据同步数据安全方面(非同步效率)我感觉有几个点需要注意:
1、关于数据定期比对,建议所有表必须为聚簇索引表,避免sync_diff工具做数据比对时候导致集群抖动,参考:sync_diff_inspector做上下游数据对比时可能会导致集群性能抖动
2、不使用lighning local模式导入数据避免数据不同步(对于特殊批次表,可以不设置同步,两侧集群分别local模式导数,减少ticdc带宽)
3、ticdc不会做用户、用户权限、密码的同步,需要自己维护。
4、ticdc不会同步sequence对象、视图,需要定期做检查,对于sequence的值也不会同步,需要像个办法定期同步并预测sequence的当前最大值,避免切换过去后sequence值比表中值还小导致业务失败。
5、如果主库做了SQL语句的binding,那么也不会同步到备集群中,需要定期同步binding情况。
上述3、4、5在做定期检查时候可以用https://gitee.com/wencycool/something_for_tidb/tree/main/tidb_object_diff来简单对比下。