请问为什么async commit和binlog不兼容呢?

这篇文章也描述了,不论是 start_ts 还是 commit_ts 都是通过 PD 的 TSO来提供的
TSO目前就是唯一的,对于事务而言,不论是乐观事务,还是悲观事务,同一时间内只有一个事务可以commit成功。

TiCDC 对于数据的处理方式,和 tidb 的binlog 方案有很大的差别,
数据是通过 tidb 的入口进去的,然后

  • tidb 会通过 tikv 提供的 KV API 或者 DistSQL API 去获取数据,发生变更时,则将变更记录

  • ticdc则是 由 tikv 在发生变更后,通过 变更的统一接口去处理这个记录

主要的区别在这里…
希望能帮到你