其他分享
首页 > 其他分享> > Mairadb-Galera集群

Mairadb-Galera集群

作者:互联网

什么是Gelera集群?

Gelera是一款提供高性能,高可用解决方案的MySQL多主同步集群,目前支持Innodb及Xtadb存储引擎(是由mariadb官方推出用来替代innodb的存储引擎)。

主要功能

同步复制 --- Galera主从复制是同步的,底层依赖rsync;	
真正的multi-master(多主模式),即所有节点可以同时读写数据库;
自动的节点成员控制,失效节点自动被清除;
新节点加入数据自动复制;
真正的并行复制,行级;
用户可以直接连接集群,使用感受上与MySQL完全一致;

工作方式

首先由客户端向Gelera集群中任意一台server发起事务(是指数据更新,新加等操作),然后向客户端发送ok的请求,同时进行本地执行(就是写入数据,更新数据等操作),如果本地”执行“成功,就会复制数据到当前集群内的所有节点,做冲突检测(也就是跟第一台节点做相同的操作),如果执行成功,那么就进行数据同步,落地到磁盘,如果执行失败,其他节点抛弃刚才的操作,第一台节点则进行数据回滚。
那么gelera是怎么保持数据同步的了?
有个时候,因为节点配置的不同,那么不同节点的执行事务的速度也不同,当时间一长,有的节点慢的最终会导致事务丢失,那么gelera内部就出了一个机制flow control(流量控制),主要用来协调各个节点执行事务的速度,避免事务丢失。实现方式:整个galera cluster中,同时只有一个节点可以广播消息(数据),每个节点都会获得广播消息的机会(获得机会后也可以不广播),当慢节点的待执行队列超过一定长度后,它会广播一个FC_PAUSE消息,所以节点收到消息后都会暂缓广播消息,直到该慢节点的待执行队列长度减小到一定长度后,galera cluster数据同步又开始恢复。

Gelera集群的安装

未完待续。。。。。。。。。。。。。。。。。

标签:Galera,同步,Gelera,Mairadb,集群,执行,数据,节点
来源: https://blog.csdn.net/yts1115084429/article/details/101030720