mysql的MGR
3.MGR(MySQL Group Replication)
MySQL组复制是Mysql5.7推出的高可用方案,具备以下特性:
一致性高:数据复制基于paxos分布式公式算法,保证多个节点的一致性
容错性高:只要不是超过一半的节点宕机,就可以继续提供服务
灵活性高:MGR支持单主|多主模式,单主下会自动选举master,多主下每个节点都可以同时处理写请求
至少三个MySQL节点才能组成一个复制组,一个事务必须由复制组中超过一半的节点决议通过后才能commit
另外,官方更推荐单主模式,因为多主模式下,每个节点可以同时处理写请求,容易发生事务冲突,导致频繁的事务回滚
在单主模式下,MGR会自动为复制组选一个master处理写请求,如果复制组内超一半的节点都与master失联了,则认为master宕机,会重新选举master
MGR的每个写请求都涉及复制组内大多节点的通信,所以写性能不及异步的主从复制和半同步复制,数据一致性更强