失效链接处理 |
深入MySql实战 PDF 下载
本站整理下载:
相关截图:
主要内容:
(一)MGR是什么
(一)MGR插件组成
(二)单主模式
(二)示例
1. MGR的定义
MGR是具备强大的分布式协调能力,可用于创建弹性、高可用性、高容错的复制拓扑的一个MySQL插件。
2. 通讯协议
基于Paxos算法的GCS原子广播协议,保证了一条事务在集群内要么在全部节点上提交,要么全部回滚。
3. 组成员资格
MGR内部提供一个视图服务,集群节点之间相互交换各自的视图信息, 从而且实现集群整体的稳态。
4. 数据一致性
MGR内部实现了一套不同事务之间修改数据的冲突认证检测机制。在集群的所有节点当中进行一个冲突认证检测,反
之,通过冲突认证检测的事务即可提交成功。
当一个事务发起提交后,它会通过原子广播协议分发到集群其他Secondary节点。集群的Secondary节点通过冲突检测之
后,事务提交成功。在大多数的Secondary节点提交成功之后,会在Primary节点进行提交。
反之,如果在冲突认证检测失败,Secondary节点会丢弃这段事务对应的Binlog,Primary节点回滚该事务。
上图是一个三节点的MGR实例集群,Member1代表Primary节点,Member2、Member3代表Secondary节点。
如上图所示,MGR插件使用 MySQL Server 与 API 接口层以及若干组件,最后由GCS(Group Communication System)
协议封装而成。
MySQL Server调用MGR插件是基于MySQL现有的主从复制,利用Row格式的Binlog和Gtid等功能实现的集群架构。
API接口层复制基于MySQL Server交互的接口集,在逻辑上将MySQL内核与MGR插件隔绝开来。其他组件例如Capture
组件,它是负责事务状态在集群内提交或是回滚,以及通过Binlog event广播到其他节点上进行的冲突认证检测进行到哪个
阶段。Apply组件代表MGR集群Secondary节点Binlog回放,Recovery组件代表进行崩溃恢复或集群扩容时增量数据的
应用。
ON表示单主模式,也是默认模式,OFF表示多主模式。
如下图所示,在单主模式下(group_replication_single_primary_mode = ON):
1.该变量在所有组成员中必须设置为相同的值,同一个组中,不能将成员部署在不同模式中。例如,一个成员配置为单主
模式,另一个成员配置为多主模式。
2.该集群具有一个设置为读写模式的主节点,组中的所有其他成员都设置为只读模式(superread-only = ON);
MGR架构分为单主模式和多主模式。
M
|