#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集群通信原理中