基于zookeeper和强一致性复制实现MySQL分布式数据库集群

2016-03-25 06:13:51张旭刚李东辉俞俊朱广新郑磊
微型电脑应用 2016年1期

张旭刚,李东辉,俞俊,朱广新,郑磊



基于zookeeper和强一致性复制实现MySQL分布式数据库集群

张旭刚,李东辉,俞俊,朱广新,郑磊

摘 要:目前MySQL数据库间的复制技术主要有异步、半同步、同步等,这几种技术存在各自的局限性和适用场景,很难满足国家电网业务对分布式事务和性能的要求。结合国内外先进的框架和技术,利用zookeeper实现MySQL数据库间复制的监控和管理,并改进MySQL数据库的线程池,参考半同步技术模型实现数据库间强一致性复制,融合以上两种技术实现复制在毫秒级、高可靠和高性能的MySQL分布式数据库集群。

关键词:MySQL;zookeeper;强一致性

0 引言

MySQL的复制模式有异步、半同步、同步等模式。在MySQL发展的早期,采取异步复制技术,由于主数据库只管把Binary Log发出去,而不关心从数据库是否收到,主从数据库间的数据不一致非常严重,通常是把从数据库作为一种容灾和备份方案。到MySQL5.5后,提供了半同步模式,确保必须收到一个从数据库的应答才让事务在主数据库中提交,若备机应答超时,强同步会自动退化成异步模式,这种模式适用于局域网,当跨数据中心时,时延较大,通常会工作在异步模式下,而且主数据库等待从数据库的应答,影响主数据库的性能。除了异步和半同步模式,还有同步集群方案,主要有MySQL NDB Cluster和MariaDB Galera Cluster,MySQL NDB Cluster基于全内存,只支持Read Committed事务隔离级别,需要把引擎Innodb为NDB,需要高速网络环境支持,而MariaDB Galera Cluster维护和管理复杂,在跨数据中心时,性能下降比较大。

为解决上述异步和半同步复制的……

登录APP查看全文