美文网首页
MGR原理分析

MGR原理分析

作者: 古飞_数据 | 来源:发表于2023-04-13 09:29 被阅读0次

GTID+Row+并行复制+增强半同步
MGR ->(MySQL InnoDB cluster)

1.MGR整体架构及特点
2.MGR数据如何实现数据同步
3.MGR数据复制冲突解决
4.MGR数据复制流控
5.MGR监控点
6.MGR优化方向
7.MGR部署架构建议

1.MGR整体架构及特点

Single-master        单点写入,推荐
Multi-master          所有节点可写

Multi-master 有更新丢失的风险

MySQL InnoDB Cluster


image.png

8.0.18 mysqlshell

\connect wubx@dzst151:3310
var cluster=dba.createCluster('xxx');
var cluster=dba.getCluster('xxx');
cluster.status();
rebootClusterFromCompleteOutage()
addInstance
cluster.switchToMultiPrimaryMode()

集群中节点失败:选举流程(Paxos)
Paxos只是作用于Single-primary故障选择新主
1.提议
2.投票
3.决议

主观故障 客观故障
冲突检测 数据传输


image.png
涉及到的概念:
Group Communication System (Gcs)
Writeset
Membership
Certificcation info
Flow control stats
Paxos

网易考拉 中信 MGR集群
MGR崩溃后,会先应用本地relay log

single-master mode

image.png
select memeber_host,member_role from performance_schema.replication_group_memebers;
multi-master mode image.png

注意需要避免:DDL,DML在两个节点操作同一张表(muti-primary)
muti-primary相比single-primary性能损失15% 数据冲突验证

异步复制

image.png
半同步复制
image.png
1.并行复制(group commit)writeset
2.增强半同步

多主模式,先验证本地,在验证远程节点,单主模式只需要本地验证即可

image.png
MGR数据复制流程
MGR的数据复制   >  事务认证
      事务认证
      冲突检测
           certification_info key: xxhash64(索引名称+db名+db名长度+表名+表名长度+构成索引唯一性的每个列的值+值长度) Value是事务的gtid_executed   Executed_Gtid_Set
           事务分配gtid
           group_replication_gtid_assignment_block_size
      事务组提交(group commit)


[mysqld]
#MGR
transaction_write_set_extraction=
loose-group_replicationn_group_name
loose-group_replication_start_on_boot
loose-group_replication_local_address
loose-group_replication_group_seeds
loose-group_replication_bootstrap_group

问题
对于高速写入的系统Certification_ info 会越来越大,性能会越来越
处理办法:
certification_info引入清理机制 60秒

相关文章

网友评论

      本文标题:MGR原理分析

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