前言
**商的多活是分地市的 经常会出现一些主从同步延迟的问题,我司纯外包,还得背锅,我的部门又经常涉及数据同步,我是天天背锅,天天排查。 能不能不让实习生背黑锅啊?
长事务 有些人的sql 脚本执行三十分钟(事务合并的粒度比较大) 这个sql肯定也是会导致从库延迟更新三十分钟 这种人直接让他回去等着就行了
原因 master 在主库事务提交的时候 才会吧数据变更写入binlog 主从同步又是依赖binlog 进行的
从库读取binlog是单线程的 mysql5.6之后 好像优化了多库单线程读取的问题,单库依然是串行化
从库性能过低 这个在我司不存在 甲方的数据库都比我们的强
DTS 问题 DTS 集成的kafka 是单消费者的
解决办法
我们部门不太重要 直接更新完了数据库 更新缓存(效果不是很好 基本没效果)
产商品部门 是二次读取 读失败了 再读主库 (缺点 主库压力增大)
渠道部门貌似 是只读主库(增大压力 不过好像是他们分库分的比较好 也有的业务是同步复制)
mysql 使用半同步复制
可以根据自己的业务的重要程度来抉择合适的