模式
高可用模式
Galera Cluster是由Codership开发的MySQL多主集群,包含在MariaDB中,同时支持Percona xtradb、MySQL,是一个易于使用的高可用解决方案,在数据完整性、可扩展性及高性能方面都有可接受的表现。
将会基于Galera Cluster安装到三个服务器上,每个节点都支持读写操作,并且在写操作之后会同步到另外两个节点。
主从模式
主从复制模式可以缓解单服务器的压力,将写操作给主服务器,读操作给从服务器,从服务器可以部署多台,分摊压力。因为在一个应用中,读的操作肯定是大于写的操作。
将会安装到两个服务器上,其中第一个服务器为主节点,主节点支持读写操作,从节点只允许读操作,主节点在写操作之后会同步到从节点(如果强行在从节点上进行写操作,可能会导致主从同步失败)
主主模式
将会安装到两个服务器上,两个节点都支持读写操作,并且在写操作之后会同步到另一节点。
主主模式和主从模式的主要区别就在于两个节点都支持写入操作。一定程度上可以保证当主库不可用时,可以极快的切换到另一台主库上。两库之间可以采用keepalived等方案对外使用VIP提供服务。
MHA模式
MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL主从复制架构提供了 automating master failover (自动化主故障转移)功能。MHA 在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的master 节点,在此期间,MHA 会通过于其它从节点获取额外信息来避免一致性方面的问题。MHA 还提供了 master 节点的在线切换功能,即按需切换 master/slave 节点。
MySQL和MHA—Node将会同时安装到三台服务器上,且在第三台服务器上还会安装MHA-manager(要求该服务器已经安装gcc);其中第一台服务器为MySQL主节点,其余两台服务器为从节点。因为MHA负责在主节点故障时自动切换,请谨慎通过SEE进行启停MySQL节点操作。
MGR模式
MGR正是Mysql提供的状态机复制技术。在MGR中每个服务器都能看到其他组节点的状态,在MGR中称之为视图(view),MGR内置group membership service,为每个节点提供一致的视图,节点的离开、加入都会触发视图的改变,而因为网络异常的原因退出的节点,也会有相应的故障检测机制来发现。
MGR的一个重要特点是对于要提交的事务,组中的大多数必须在全局事务序列中约定给定交易的顺序,决定提交或中止事务是由每个服务器单独完成的,MGR保证所有的服务器都做出相同的决定。
所有这些功能都依赖于底层的节点间通信和协调算法。在Mysql中被称为Group Communication System (GCS),它提供了故障检测机制、组成员服务以及安全且完全有序的消息传递,其底层基于paxos算法。
安装到3台服务器上,VIP支持读写操作,写操作会自动同步到其他两个从节点,主节点挂了会选举新的主节点,此时VIP会漂移到新的主节点上
PMS模式
Percona Server for MySQL 是任何 MySQL 数据库的免费可用、完全兼容、增强和开源的直接替代品。它提供了卓越和优化的性能、更高的可扩展性和可用性、增强的备份、增强的可见性和检测。
Percona XtraDB Cluster 是 MySQL 的完全开源高可用性解决方案。它将Percona Server for MySQL和Percona XtraBackup与Galera库集成在一起,以实现同步多源复制。
基于Keepalived生成VIP的Percona8主从模式;VIP默认在主节点上,若主节点挂了,VIP自动飘移到从节点,从节点支持写操作。