tidb relay log的作用

请问各位老师,对tidb binlog 种的relay log 功能存在两个疑问;
假设下游的drainer 消费对象是mysql
1、如果没有relay log,假设 drainer 还有未发送的binlog(假设binlog 9和10这两条变更记录没有发送给mysql) 给mysql,并且上游集群不可用了(包括drainer 不可用),这个时候是不是会造成下游的mysql和drainer binlog 达不到一致性? 根据官网所说的 “在此场景下,Drainer 借助 relay log 可以确保将下游集群同步到一个一致的状态。” 但是Drainer 都异常退出了怎么借助relay log 可以确保下游集群同步到一个一致的状态?

2、开启relay log 后,drainer 在正常状态下,还是首先先将binlog 同步给下游,只有当异常时,才会去读取relay log 同步到下游?

同步会持久化进度,挂了,重启会继续上一次位点继续同步

不用relay log,为什么会存在上游与下游数据不一致的风险?

学习了,谢谢

当有多个下游时 必须要卡其relay log 来保证各自的持久化进度

1 个赞