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
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
1.并行复制(group commit)writeset
2.增强半同步
多主模式,先验证本地,在验证远程节点,单主模式只需要本地验证即可
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秒
网友评论