Mysql MGR集群方案介绍

2024-06-26 07:42

MySQL MGR集群模式介绍

​ MySQL是目前最流行的开源关系型数据库,国内金融行业也开始全面使用,其中MySQL5.7.17提出的**MGR(MySQL Group Replication)**既可以很好的保证数据一致性又可以自动切换,具备故障检测功能、支持多节点写入,MGR是一项被普遍看好的技术。**MGR (MySQL Group Replication)**是MySQL自带的一个插件,可以灵活部署。MySQL MGR集群是多个MySQL Server节点共同组成的分布式集群,每个Server都有完整的副本,它是基于ROW格式的二进制日志文件和GTID特性。


image.png

MGR的优点

1、强一致性,基于原生复制及paxos协议的组复制技术,并以插件的方式提供,提供一致数据安全保证;

image.png

2、高容错性,只要不是大多数节点坏掉就可以继续工作,有自动检测机制,当不同节点产生资源争用冲突时,不会出现错误,按照先到者优先原则进行处理,并且内置了自动化脑裂防护机制;

image.png

3、高扩展性,节点的新增和移除都是自动的,新节点加入后,会自动从其他节点上同步状态,直到新节点和其他节点保持一致,如果某节点被移除了,其他节点自动更新组信息,自动维护新的组信息;

4、高灵活性,有单主模式和多主模式,单主模式下,会自动选主,所有更新操作都在主上进行;多主模式下,所有server都可以同时处理更新操作。

MGR的使用约束

1、仅支持InnoDB表,并且每张表一定要有一个主键,用于做write set的冲突检测;

2、必须打开GTID特性,二进制日志格式必须设置为ROW,用于选主与writeset;主从状态信息存于表中(--master-info-repository=TABLE 、--relay-log-info-repository=TABLE),--log-slave-updates打开

3、MGR不支持大事务,事务大小最好不超过143MB,当事务过大,无法在5秒的时间内通过网络在组成员之间复制消息,则可能会怀疑成员失败了,然后将其驱逐出局

4、目前一个MGR集群最多支持9个节点

5、不支持外键于save point特性,无法做全局间的约束检测与部分事务回滚

6、二进制日志不支持Binlog Event Checksum

MGR适用场景

金融交易、重要数据存储、对主从一致性要求高的场景

核心数据总量未过亿

读多写少的应用场景,如互联网电商

相关新闻
热点
投票
查看结果
Tags

站点地图 在线访客: 今日访问量: 昨日访问量: 总访问量:

© 2025 个人网站 版权所有

备案号:苏ICP备2024108837号

苏公网安备32011302322151号