美文网首页面试精选
MySQL 主从延迟问题思路

MySQL 主从延迟问题思路

作者: 齐舞647 | 来源:发表于2021-09-22 01:03 被阅读0次

    背景:

    一个历史比较悠久的服务出现了主从延迟。即写库写入n秒后,从库才能读到正确的数据。

    主从延迟产生的原因:

    1. 当主库的TPS并发较高时,产生的DDL数量超过slave一个sql线程所能承受的范围。
    2. slave的大型query语句产生了锁等待。

    主从延迟的解决方案

    短期解决方案(治标)

    1. 优化 MySQL 配置。
    2. 提高 MySQL 到5.6版本以上。(5.6后支持多线程,提高了效率)。
    3. 增加从库,减少单从库的压力。(对原因2有效)
    4. 将时延要求高的场景,读写库。

    长期解决方案(治本)

    1. 优化耗时SQL,优化索引。

    2. 写入主库的时候,确保数据都同步到从库了之后才返回这条数据写入成功,当然如果有多个从库,你也必须确保每个从库都写入成功。显然,这个方案对性能和时间的消耗是极大的,不推荐。

    3. 引入Redis或者其他NoSQL数据库,查的时候先查Redis,等从库数据库都同步完成,再清除Redis

    4. 预估吞吐量上限,采取缓存、限流、降级等方法,来应对大量流量。

    相关文章

      网友评论

        本文标题:MySQL 主从延迟问题思路

        本文链接:https://www.haomeiwen.com/subject/cklwgltx.html