构建读写分离的数据库集群

目录

1. 认识读写分离

(1)读写分离概念

(2)读写分离的作用

(3)读写分离应用场景

(4)主从复制、读写分离的基本设计

2.构建读写分离的数据库集群

 (1)基础环境配置

 (2)部署MariaDB 主从数据库集群服务

 (3)部署Mycat读写分离中间件服务

 (4)验证数据库集群服务读写分离功能


1. 认识读写分离

(1)读写分离概念

读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。

(2)读写分离的作用

因为数据库的“写”(写100,00条数据到MySQL可能要3分钟)操作是比较耗时的,但是数据库的“读”(从MySQL读100,00条数据可能只要5秒钟)。所以读写分离可以解决数据库写入时影响查询效率的问题。

(3)读写分离应用场景

数据库不一定总要读写分离,如果程序使用数据库较多、更新较少、查询较多的情况下会考虑使用。利用数据库主从同步,可以减少数据库压力,提高性能。当然,数据库也有其它优化方案。例如使用memcache、分表、搜索引擎等方法。

(4)主从复制、读写分离的基本设计

在实际的生产环境中,对数据库的读和写都在同一个数据库服务器中,是不能满足实际需求的。无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的。因此,通过主从复制的方式来同步数据,再通过一台主、多台从节点,主节点提供写操作,从节点提供读操作来实现读写分离,从而提升数据库的并发负载能力。

2.构建读写分离的数据库集群

 (1)基础环境配置

    修改主机名

  使用hostnamectl命令修改3台主机的主机名。

  Mycat节点修改主机名命令:

# hostnamectl set-hostname mycat
# bash

  db1节点修改主机名命令:

# hostnamectl set-hostname db1
# bash

 db2节点修改主机名命令: 

# hostnamectl set-hostname db2
# bash

编辑hosts文件

3台集群虚拟机的/etc/hosts文件配置部分:

# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.49.6     mycat
192.168.49.18    db1
192.168.49.20    db2

配置Yum安装源

数据库集群需要安装MariaDB数据库服务,需要给集群虚拟机配置Yum安装源文件,使用提供的gpmall-repo文件上传至3个虚拟机的/opt目录下,设置本地Yum源。

首先将3个节点/etc/yum.repo.d目录下的文件移动到/media下,命令如下:

# mv /etc/yum.repos.d/* /media/

3台集群虚拟机的Yum安装源文件配置部分:

# cat /etc/yum.repos.d/local.repo 
[mariadb]
name=mariadb
baseurl=file:///opt/gpmall-repo
gpgcheck=0
enabled=1

安装JDK环境

部署Mycat中间件服务需要先部署JDK 1.7或以上版本的JDK软件环境,这里部署JDK 1.8版本。

Mycat节点安装Java环境:

# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
...
# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

关闭防火墙(全部节点)

#iptables -F
#iptab
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值