#Galera集群特点
集群之间无延时,同步复制。而master-slave主从异步复制,存在延迟。
active-active多主,集群内部服务器都是同时写,必须等所有集群内所有数据库都完成数据写入,才会反馈完成,所以不存在数据丢失的情况。
集群节点自动故障转移,如果集群中单个节点故障,失效节点会自动被清除。
扩展方便,只要将新的节点添加到集群,新节点自动复制数据。
#Galera集群原理
#主要通过galera插件保证数据的一致性,该数据复制的过程是可认证的复制,原理如下:
#解析
#客户端请求update更新数据,galera集群中一台服务器收到请求后,本地进程反馈OK,client则提交需要commit更改的数据,server收到提交事务后,所有对数据的更改都会被write-set收集起来,并将write-set的记录内容发送给其他节点。write-set会在每个节点执行之前都会进行认证certification,若认证通过,则节点应用write-set记录更改数据;若认证失败,该节点将discard丢弃write-set,其他节点则回滚rollback该事务。
#Galera集群搭建
#环境:Centos7
#数据库版本:10.1.16-MariaDB
##环境准备
#()修改本地host文件,/etc/hosts
[root@js-test-1 ~]# cat /etc/hosts
...
10.10.86.43 galera01
10.10.86.44 galera02
10.10.86.45 galera03
...
#()修改防火墙 & 关闭selinux
#()调整防火墙,galera cluster集群通信原理中