美文网首页mysql
主从同步一致性解决方案

主从同步一致性解决方案

作者: 没睡醒的鱼 | 来源:发表于2018-07-27 16:24 被阅读100次

背景

读写分离提高了资源的利用效率的同时也引出了一个问题,就是由于延时(网络传输,操作)而引起的数据库主从不一致的问题,对于这个问题,给一下集中解决方案。

半同步复制

  • 先对主库进行一个写操作
  • 等主从同步完成,写主库的请求才返回
  • 读从库,读到最新的值

优点:利用数据库原生功能,比较简单
缺点:主库的写请求时延会增长,吞吐量会降低

数据库中间件

  • 所有的读写都走数据库中间件,通常情况下,写请求路由到主库,读请求路由到从库
  • 记录所有路由到写库的key,在主从同步时间窗口内(假设是500ms),如果有读请求访问中间件,此时有可能从库还是旧数据,就把这个key上的读请求路由到主库
  • 主从同步时间过完后,对应key的读请求继续路由到从库

优点:能保证绝对一致
缺点:数据库中间件的成本比较高

缓存记录写key

当写请求发生的时候:

  • 当某个key要发生写操作时,记录在缓存里,设置缓存超时时间为主从同步时间,假设为500ms
  • 修改数据库

当读请求发生的时候:

  • 先到缓存里查看有没有对应的key
  • 如果有,说明这个key上刚发生过写操作,此时直接从缓存中读取值并返回
  • 如果没有,说明这个key上近期没有发生过写操作,此时将请求路由到从库,继续读写分离

优点:相对数据库中间件,成本较低
缺点:引入了一个缓存组件,并且读写数据库时都多了一步读写缓存操作

相关文章

  • MySQL高可用之主备同步:MySQL是如何保证主备一致的?

    主备同步,也叫主从复制,是MySQL提供的一种高可用的解决方案,保证主备数据一致性的解决方案。 在生产环境中,会有...

  • Redis高可用架构之主从同步

    CAP原理 最终一致性 Redis提供的同步机制 主从同步 丛丛同步 缓解master节点的压力 Redis的同步...

  • 常见的高可用MySQL解决方案 【转】

    1. 主从复制解决方案主从复制解决方案是MySQL自身提供的一种高可用解决方案,数据同步方法采用的是MySQL复制...

  • redis-主从同步

    Redis-主从同步 CAP 在分布式环境下(网络分区),一致性和可用性是互斥的. 一致性和可用性是互斥的 主从同...

  • MySQL-主从复制高级进阶

    半同步复制(了解) 3 解决主从数据一致性问题 半同步复制工作原理的变化 配置半同步复制 过滤复制 说明 主库: ...

  • 主从同步一致性解决方案

    背景 读写分离提高了资源的利用效率的同时也引出了一个问题,就是由于延时(网络传输,操作)而引起的数据库主从不一致的...

  • Rocketmq 消息复制

    1 传统主从模式 broker主从角色固定,无法自动切换,牺牲可用性来达到高性能和一致性。 分异步复制和同步复制,...

  • ERROR 1858 (HY000): sql_slave_sk

    发现Mysql主从不同步,找到解决方案:mysql > stop slave;mysql > set global...

  • day12 主从复制高级进阶

    八、过滤复制 主库:(了解) 从库: 例: 九、半同步复制 解决主从数据一致性问题 9.1 半同步复制工作原理的变...

  • Redis中的同步

    主从同步原理 刚开始 mater 与 salve 数据是不不同步的 过一段时间后就同步了 就是所谓的最终一致性 第...

网友评论

    本文标题:主从同步一致性解决方案

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