一、读写分离的概述
读写分离是高性能数据库集群的一种方式,其本质是将访问压力分散到集群中的多个节点,但是没有分散存储压力。业务服务器将写操作发给数据库主机,将读操作发给数据库从机通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。
1.1、读写分离的基本原理
数据库服务器搭建主从集群,一主一从、一主多从都可以。 数据库主机负责读写操作,从机只负责读操作。 数据库主机通过复制将数据同步到从机,每台数据库服务器都存储了所有的业务数据。
二、怎么实现读写分离?
2.1、环境准备和安装包
注意:配置过程需要的安装包,需要的可以去我的百度云下载,我的 Mysql手工编译版本是 5.7。
百度云链接为:https://pan.baidu.com/s/1DZIVX46wKWoW1ak-IGkzKA
提取码:fohm
读写分离是在主从复制的基础上进行配置的,所以先搭建主从复制再搭建读写分离。 准备五台centos7虚拟机,其中三台搭建 Mysql服务器(一台为主服务器,其余两台为从服务器)
一台虚拟机用来做 Amoeba,实现读写分离。 一台做应用客户端,进行操作验证。
我的服务器IP地址:
MYSQL 之 读写分离
MYSQL 之 读写分离
2.2、实验操作
2.2.1、Amoeba的配置
1、关闭防火墙,挂载本地共享文件夹,把 jdk 安装包放在 /usr/local目录下
MYSQL 之 读写分离
2、安装 jdk 包
MYSQL 之 读写分离
3、修改 profile 文件,配置环境变量
MYSQL 之 读写分离
4、先创建一个文件,存放解压内容,解压 amoeba包
MYSQL 之 读写分离
给Amoeba加755权限,并验证安装是否成功。
MYSQL 之 读写分离
2.2.2、Mysql服务器
在三台 mysql 服务器上添加权限,开放给 Amoeba 访问
登录数据库
MYSQL 之 读写分离
2.2.3、读写分离实现配置
回到Amoeba服务器,配置读写分离功能。
1、修改amoeba.xml文件
MYSQL 之 读写分离
MYSQL 之 读写分离
MYSQL 之 读写分离
2、修改配置文件夹下的dbServers.xml文件
MYSQL 之 读写分离
MYSQL 之 读写分离
MYSQL 之 读写分离
MYSQL 之 读写分离
MYSQL 之 读写分离
MYSQL 之 读写分离
2.3、客户端验证
1、yum安装数据库
2、连接 amoeba 服务器
创建一个名为 test02 的库,再创建一个叫 demo01 的表
MYSQL 之 读写分离
MYSQL 之 读写分离
我们在主服务器上,直接进入数据库,就会发现也多了一个名为 stu01 的表
MYSQL 之 读写分离
三、总结
读写分离扩展了读操作,提高了并发吞吐量和负载能力。对数据库进行写的操作时,全部由主服务器承担,用来避免数据的不同步。进行读操作时,由从服务器slave来承担,用来分担数据库的压力。

相关文章: