美文网首页
第三十三节、读写分离有哪些坑?

第三十三节、读写分离有哪些坑?

作者: 小母牛不生产奶 | 来源:发表于2020-06-17 15:42 被阅读0次

    主题:读写分离,处理主备延迟导致的读写分离问题;

    读写分离的主要目标就是分摊主库的压力:

    1、可以由客户端来选择连接后端数据库;

    2、在MySQL和客户端之间有一个中间代理层proxy,客户端只连接proxy,由proxy根据请求类型和上下文决定请求的分发路由。


    客户端直连和带proxy的读写分离架构 特点:

    1、客户端直连方案:

    优点:

    因为少了一层proxy转发,所以查询性能稍微好一点儿;

    整体架构简单,排查问题更方便。

    缺点:

    需要了解后端部署细节;

    主备切换、库迁移时,客户端会感知,需要调整数据库连接信息。

    2、带proxy的架构:

    优点:对客户端比较友好,客户端不需关注后端细节;

    缺点:对后端维护团队要求高;架构复杂。


    过期读问题

    由于主从可能存在延迟,客户端执行完一个更新事物后马上发起查询,如果查询选择的是从库的话,就有可能读取到刚刚的事物更新之前的状态。

    处理过期读方案汇总:

    1、强制走主库方案;

    2、sleep方案;

    3、判断主备无延迟方案;

    4、配合semi-sync方案;

    5、等主库位点方案;

    6、等GTID方案;

    相关文章

      网友评论

          本文标题:第三十三节、读写分离有哪些坑?

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