解决主要得问题:
无论是一主多从,还是多主架构,数据同步都是基于二进制日志完成,如果某子一节点挂了,都需要及时的,手动的去提升一个子节点为主节点。
Galera Cluster介绍:
它是一个集成了galera插件的mysql集群(采用了多主集群架构)。更是是一种新型的,数据不共享的,高度冗余的高可用方案(数据一致性,完整性,性能无法与单台单台机器相比)。目前galera cluster有两个版本。一个是Percona Xtradb Cluster以及Mariadb Cluster。
Galera Cluster优缺点:
优点:
多主结构:数据在任何时候读写都是最新的(比如:数据的更新操作,当一个节点收到请求后都需要与其他节点进行校验,校验之后在更新本地数据,最后在同步)
故障切换:在数据库出现故障时,因为支持多点写入,切换容易
热插拔:在服务期间,如果数据库挂了,只需要停止该节点的数据库服务,不影整个集群(其他节点)。而且如果该节点修复后,只需启动数据库服务即可自动加入集群环境(原集群配置环境还存在)
同步复制:在集群种的不同节点之间数据同步,没有延迟,而且单个节点数据库挂了之后,数据不会丢失
并发复制:支持并行执行,提升性能
自动节点克隆:在新增节点时,增量数据(即在基础数据上发送变化的数据)或基础数据无需手动备份提供,因为新增节点上mysql服务一旦开启,它将自动拉取在线节点数据。
缺点:
新节点加入需要全量拷贝数据,有时会导致数据同步的提供者无法提供读写,只有等待整个拷贝完成。
只支持innodb存储引擎
而且集群的性能取决于集群中性能最差的节点的性能(全局校验过程)
Galera Cluster工作流程(不一定准确,自己的理解):
Galera Cluster包括两个组件
- Galera replication library (galera-3)
2.WSREP:MySQL extended with the Write Set Replication
提示:PXC(Percona XtraDB Cluster)是Percona对Galera的实现。
MariaDB Galera Cluster是mariadb对Galera的实现。
两者都需要至少三个节点(至多8个节点),且不能安装mysql-server或mairadb-server
RPM包
PXC:
https://mirrors.tuna.tsinghua.edu.cn/percona/release/ r e l e a s e v e r / R P M S / releasever/RPMS/ releasever/RPM