美文网首页
数据库主从模式下,数据一致性问题

数据库主从模式下,数据一致性问题

作者: Figo_OU | 来源:发表于2021-07-01 21:52 被阅读0次

    MySQL在主从模式下,你们是如何保证数据一致性的?
    首先想到的肯定是半同步机制。只要配置了半同步机制,那么在主库写入的时候,会等从库同步完,再进行主库的提交。

    追问:这种模式在高并发的场景下,会有什么问题?
    很显然就是写入的效率极大的降低了、导致吞吐量降低了。所以在高并发的场景下又要保证高可用,肯定是不适用的。

    追问:那你对这个问题有什么解决方案么?
    肯定就是想到了中间件了呀。我了解到的mycat是有实现根据主从延时切换的功能。主要的实现原理就是判断主库写入提交后,从库的数据复制延时的大小是否大于我们设定的slaveThreshold,如果大于mycat的读写分离筛选器就会过滤掉这台Slave机器。逸放读到很久之前的旧数据。为了这个问题我还特地去翻了mycat权威指南

    主从延时切换

    补充:那假设你设定的是100,但刚好写入完的下一毫秒就进来了读请求。那还是有问题的。如果你设定为0,那就相当于永远不走从库了。
    os:无所谓咯,啥列表展示的数据,100毫秒的数据不一致很正常好吗。又不是啥银行的系统,如果是就用半同步呀。

    更专业的解答可参考以下文章:
    如何解决主从数据库同步延迟问题? - 左轻侯的回答 - 知乎
    https://www.zhihu.com/question/20025096/answer/72549525

    相关文章

      网友评论

          本文标题:数据库主从模式下,数据一致性问题

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