MySQL 5.7的复制架构,在有异步复制、半同步、增强半同步、MGR等的生产中,该如何选择?

MySQL 5.7的复制架构,在有异步复制、半同步、增强半同步、MGR等的生产中,该如何选择?


一、生产环境中:
    1、几种复制场景都有存在的价值。下面分别描述一下:
    2、从成熟度上来选择,推荐:异步复制(GTID+ROW)。
    3、从数据安全及更高性能上选择:增强半同步 (在这个结构下也可以把innodb_flush_log_trx_commit调整到非1, 从而获得更好的性能)。
    4、对于主从切换控制觉的不好管理,又对数据一致性要求特别高的场景,可以使用MGR。


二、理由:
    1、异步复制,相对来讲非常成熟,对于环境运维也比较容易上手。
    2、增强半同步复制,可以安全的保证数据传输到从库上,对于单节点的配置上不用要求太严格,特别从库上也可以更宽松一点,而且在一致性和性能有较高的提升,但对运维上有一定的要求。
    3、MGR组复制。相对增强半同步复制,MGR更能确保数据的一致性,事务的提交,必须经过组内大多数节点(n/2+1)决议并通过,才能得以提交。MGR架构对运维难度要更高,不过它也更完美。
    4、总的来讲,从技术实现上来看:MGR> 增强半同步>异步复制。
    5、未来可能见到更多的MGR在生产中使用,对于MySQL的运维的要求也会更上一层楼。

 

上一篇:ECMall——安装时的小bug解决办法


下一篇:smarty模板执行原理