概述
目前业界对数据库性能优化普遍采用集群方式,而oracle集群软硬件投入昂贵,mysql则比较推荐用mycat去搭建数据库集群,下面介绍一下怎么用mycat+haproxy+keepalived搭建一个属于mysql数据库的高可用负载均衡。
主要思路:
简单说,实现mysql主备复制-->利用mycat实现负载均衡。
比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定。
以下基于centos7操作系统进行演示。
架构图
以下是这次搭建的架构图。
主机1与主机2上的keepalived会为该服务器抢占vip,抢占到vip后,对该主机的访问可以通过原来的ip访问,也可以直接通过vip访问,当其中一台宕机时,vip会漂移到另一台机器上,当我们访问VIP时haproxy会根据配置将请求分发到两台Mycat上实现负载均衡,并且haproxy会检测mycat是否存活。
下面先介绍下后端数据库的搭建部分。
一、安装部署mysql
1、安装依赖
yum install tcl gcc perl perl-JSON.noarch perl-Time-HiRes.x86_64 -y
2、创建基础目录并修改文件夹的属组
mkdir -p /data/datafile
mkdir -p /data/log
chown -R mysql:mysql /data
3、安装mysql数据库,采用rpm安装方式
3.1卸载自带包
sudo yum remove -y mariadb*
3.2、安装rpm
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-commu