zoukankan      html  css  js  c++  java
  • 分布式系统知识点七:mysql读写分离简介(转载)

    本系列为网上收集转载分布式相关知识点系列文章,并非原创。如果侵权,请联系我删除!!!

    1.  背景
    我们一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是说采用数据库集群的方案,

    其中一个是主库,负责写入数据,我们称之为:写库;

    其它都是从库,负责读取数据,我们称之为:读库;

    那么,对我们的要求是:

    1、读库和写库的数据一致;

    2、写数据必须写到写库;

    3、读数据必须到读库;

    2.  方案
    解决读写分离的方案有两种:应用层解决和中间件解决。

    2.1. 应用层解决:
     

    优点:

    1、多数据源切换方便,由程序自动完成;

    2、不需要引入中间件;

    3、理论上支持任何数据库;

    缺点:

    1、由程序员完成,运维参与不到;

    2、不能做到动态增加数据源;

    2.2. 中间件解决


     

    优缺点:

    优点:

    1、源程序不需要做任何改动就可以实现读写分离;

    2、动态添加数据源不需要重启程序;

    缺点:

    1、程序依赖于中间件,会导致切换数据库变得困难;

    2、由中间件做了中转代理,性能有所下降;

    相关中间件产品使用:

    mysql-proxy:http://hi.baidu.com/geshuai2008/item/0ded5389c685645f850fab07

    Amoeba for MySQL:http://www.iteye.com/topic/188598和http://www.iteye.com/topic/1113437

    原文链接:https://blog.csdn.net/jack85986370/article/details/51559232

  • 相关阅读:
    LeetCode "Median of Two Sorted Arrays"
    LeetCode "Distinct Subsequences"
    LeetCode "Permutation Sequence"

    LeetCode "Linked List Cycle II"
    LeetCode "Best Time to Buy and Sell Stock III"
    LeetCode "4Sum"
    LeetCode "3Sum closest"
    LeetCode "3Sum"
    LeetCode "Container With Most Water"
  • 原文地址:https://www.cnblogs.com/yylingyao/p/12722266.html
Copyright © 2011-2022 走看看