美文网首页
Galera Cluster—MySQL新型的高并发集群架构

Galera Cluster—MySQL新型的高并发集群架构

作者: wangfs | 来源:发表于2017-10-10 21:43 被阅读230次

    1. 何谓Galera Cluster

    何谓Galera Cluster?就是集成了Galera插件的MySQL集群,是一种新型的,数据不共享的,高度冗余的高可用的方案。目前Galera Cluster有两个版本,分别是Percona Xtradb Cluster及MariaDB Cluster,都是基于Galera的,所以这里都统称为Galera Cluster了,因为Galera本身是具有多主特性的,所以Galera Cluster也就是multi-master的集群架构,如图1所示:

    1.png

    上图有三个实例组成一个集群,而这三个节点与普通的主从架构不同,它们都可以作为主节点,三个节点是对等的,这种一般被称为multi-master架构,当有客户端要写入或者读取数据时,随便连接哪一个节点都是一样的,读到的数据是相同的,写入某一个节点后,集群自己会将新数据同步到其他节点上,这种架构不共享任何数据,是一种高度冗余架构。

    一般的使用方法是,在这个集群的前端再搭建一个中间层(类似于这种中间层的思想架构方案很多时候都会用到,是一种非常常见的解决方案),这个中间层的功能包括建立连接,管理连接池,负责使三个节点的负载基本均衡,负责在客户端与节点的连接断开之后的重连,也可以负责读写分离(在集群机器性能情况不同的情况下可以用这种方案)等等。使用这个中间层之后,由于这三个节点在客户端方面是完全透明的,客户端只需要指定这个数据库集群的源地址链接到中间层即可。中间层会负责客户端与后端节点连接的传递工作,因为这个架构支持多点写入,所以避免了主从复制架构中的数据不一致问题,从而可以做到主从读写切换的高度优雅,在不影响用户的情况下,离线维护等工作,MySQL的高可用。从此开始,非常完美。

    2.为什么需要Galera Cluster?

    传统的MySQL集群方案有MHA、MMM等,这些架构是每个需要数据库高可用方案的入门必备选型。但这些传统的架构一直被人们所诟病,因为MySQL的主从模式天生的不能保证数据完全一致性。可以说,传统的方案只能是通过牺牲性能,来获得数据一致性,但也只是在降低数据不一致性的可能性而已。所以现在就急需一种新型架构,从根本上解决这样的问题,天生的摆脱掉主从复制模式这样的“美中不足”之处了。

    相比传统的主从复制架构,Galera Cluster解决的最核心问题是,在三个实例(节点)之间,它们的关系是对等的,multi-master架构的,在多节点同时写入的时候,能够保证整个集群数据的一致性,完整性与正确性

    3.Galera Cluster如何解决问题

    现在已经知道Galera Cluster是MySQL封装了具有高度一致性,支持多点写入的同步通信模块Galera而做的,它是建立在MySQL同步基础之上的,使用Galera Cluster时,应用程序可以直接读、写某个节点的最新数据,并且可以在不影响程序读写的情况下,下线某个节点,因为支持多点写入,使得Failover变得非常简单。

    相关文章

      网友评论

          本文标题:Galera Cluster—MySQL新型的高并发集群架构

          本文链接:https://www.haomeiwen.com/subject/ypmbyxtx.html