文章目录
前言
这篇文章是搭建高可用,高负载的第二篇。来学习的是搭建Mysql数据库集群,使其能够在模拟高并发的情况下,在其中的一些Mysql结点宕机的情况下也能够正常的访问,不会因为一个结点的宕机,就不能够再提供服务。在上一篇文章中讲到的是环境的搭建,具体参看linux环境搭建,里面详细讲解了环境的搭建,有需要的可以移步去看那篇文章。
具体的其中配置文件可以参看github中有一系列的文件配置信息。有需要学习的小伙伴可以对其进行下载,自行根据博客配置
正文
选择哪一种搭建集群的方式
对于mysql来说有两种搭建集群的方法:Replication与PXC,如下图所示:
对于第一种情况的Replication弱一致性表示是对于当前结点的数据,在集群中的另外一个结点并不一定能够访问到,所以一般也都是价值比较低的数据。对于PXC来说实现的是强一致性,表示对于任意结点中的数据在其他的结点中也都能够访问到。对于阿里的服务器集群,及当下的主流网站,对于数据库集群的搭建都是采用第二种方法,下面来看具体的信息。
PXC
对于数据的同步是双向的,数据在每一个结点上面都可以进行读写。
同步复制,事务在所有集群节点要么同时提交,要么不提交
Replication
对于数据的同步是单向的,就是例如我们在名为Master的结点上写入数据,对于Slave结点上可以读取到Master写入的数据,但是对于在Slave上写入的数据,在Master就不能读取到。
安装docker
既然是要在Docker上配置mysql数据库集群,这里就先在linux服务器上安装Docker(这里说明以下对于dockers也是虚拟机,VM也是虚拟机,为什么说不使用到VM进行虚拟环境的搭建,然后搭建数据库集群? 因为对于VM来说是重量级的,对于Docker来说是轻量级的。对于VM每一个Vm虚拟机都是切实占用内存空间。但是对于Docker来说多个docker虚拟机来共享分配的空间大小,基础的配置不变,只是在其上进行了进一步的封装,更加便捷与易于管理与维护)
Docker操作的基本命令
- 先更新软件包,其中的
-y
表示确定的意思
yum -y update
- 安装Docker虚拟机。-y也表示确定意思。
yum install -y docker
- 运行、重启、关闭Docker虚拟机
service docker start
service docker restart
service docker stop
- 搜索镜像
docker search 镜像名称
eg: docker search java
注意: 这里直接使用Docker的源镜像在国外可能会很慢,所以我们这里使用国内比较好的加速器进行加速。
DaoCloud跳转链接
复制以下代码进入到linux环境下运行,注意若是无法复制,使用XShell连接复制运行。
运行成功以后,输入命令 vi /etc/docker/daemon.json
,将下图第一行最后的,
去掉。然后重新启动docker
输入service docker restart
。
5. 下载镜像
docker pull 镜像名称
- 查看镜像
docker images
- 删除镜像
docker rmi 镜像名称
- 运行容器
docker run 启动参数 镜像名称
- 查看容器列表
docker ps -a
- 停止、挂起、恢复容器
docker stop 容器ID
docker pause 容器ID
docker unpase 容器ID
- 查看容器信息
docker insp