MySQL-主从复制简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Anbang713/article/details/83044549

一、背景

我们一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是说采用数据库集群的方案,其中一个是主库,负责写入数据,我们称之为:写库;其它都是从库,负责读取数据,我们称之为:读库。

由上述的主从架构,我们必须做到的是:

(1)读库和写库的数据一致。

(2)写数据必须写到写库。

(3)读数据必须到读库。

二、解决方案

通常情况下,解决读写分离的方案有两种:应用层解决和中间件解决。

2.1、应用层解决

优点:

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

(2)不需要引入中间件;

(3)理论上支持任何数据库。

缺点:

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

(2)不能做到动态增加数据源。

2.2、中间件解决

优点:

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

(2)动态添加数据源不需要重启程序。

缺点:

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

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

两种方案都有自己的优缺点,实际项目中也可以针对实际情况采用哪种解决方案,就博主所在公司负责的项目目前是第一种,即应用层上实现主从复制。

接下来我们会陆续学习如何在windows搭建两个MySQL数据库,以及使用Spring实现主从分离。

猜你喜欢

转载自blog.csdn.net/Anbang713/article/details/83044549