常见的mysql集群

mysql高可用

高可用性需要解决的两个问题:

1.如何实现数据共享或者同步数据。

2.如何处理failover。failover的意思是指当服务器死机或出现错误时,可以自动切换到其他备用服务器,不影响线上业务

数据共享一般的解决方案是SAN。数据同步可以通过rsync和DRBD实现

 

1.主从复制解决方案

这是mysql自身提供的一种高可用解决方案,数据同步方法采用的是mysql replication技术。

mysql replication技术。就是一个日志复制的过程。简单来说,就是从服务器到主服务器拉取二进制日志文件,然后将日志文件解析成对应的sql在从服务器上重新执行一遍主服务器的操作,通过这种方式保持数据一致性

2.MMM高可用解决方案

MMM(mysql主主复制管理器,提供了mysql主主复制配置的监控,故障转移和管理的一套可伸缩的脚本套件)。典型的应用是双主多从架构。通过mysql replication技术可以实现两台服务器互为主从,且在任何时候只有一个节点可以写入,避免多点写入的数据冲突。同时,当可写的主节点故障时,MMM套件可以立刻监控到,然后将服务切换到另一个主节点继续提供服务,从而实现mysql高可用

 

3.hearbeat/SAN高可用解决方案

通过第三方软硬件监控和管理各个节点链接的网络并监控集群服务,当节点出现故障或服务不可用时,自动在其他节点启动集群服务

数据共享方面通过SAN存储共享。但是成本较高,存在脑裂可能。这种方案可以实现99.990%的SLA(服务水平协定)

 

4.hearbeat/DRBD高可用解决方案

和第三个方案不同的是,他的数据共享采用的是DRBD(分布式块设备复制)。这种方案实现稍微复杂,存在脑裂,可以实现99.900%的SLA

 

5.MYSQL cluster高可用解决方案

mysql cluster 由一组服务节点构成,每个节点运行多种紧张,包括mysql服务器,NDB cluster的数据节点,管理服务器,以及可能专门的数据访问程序。此方案由mysql官方主推。功能强大,但实现复杂,配置繁琐,企业应用不多。可以实现99.999%d的SLA


你可能感兴趣的:(mysql)