这个dm同步问题我司也遇到了,这个原因是mysql 和dm不兼容的问题,具体表现在上游mysql做表结构变更时。
mysql变更比如增加一列 删除一列时。dm同步会大幅度抖动。因为mysql的表结构不是立即变更的。他会有延时。等全部结构变更完了才会同步到tidb下游去。这个动作导致tidb会有延时1秒 50秒这种清空。
这个问题不光dm有 cloudcanal 也有这个问题。
我司的解决方法是dm层不做表结构变更的同步。遇到表结构变更。先在tidb层应用表结构变更。然后在mysql上变更表结构。
最后解决了dm引起的抖动问题。
dm不光会引起tidb的抖动。他的同步同样会拖垮上游mysql。你实际应用时会发现这个问题。