当前位置: 首页 > 科技观察

浅谈MySQL集群高可用架构_0

时间:2023-03-21 11:39:07 科技观察

前言高可用架构基本上是互联网服务的标准配置,无论是应用服务还是数据库服务都需要高可用。对于一个系统来说,可能包含很多模块,比如前端应用、缓存、数据库、搜索、消息队列等,每个模块都需要高可用,以保证整个系统的高可用。对于数据库服务,高可用性可能会更复杂。对用户可用的服务不仅是可访问的,而且是正确性保证的。因此,数据库的高可用解决方案一直是人们讨论的热点。今天各种高可用可用的解决方案,说说个人的一些看法。如有错误,请指正!!MySQL主从架构是创业公司常用的,也方便一步步扩展。该架构的特点:1.成本低,易于部署部署快捷方便2.读写分离3.还可以通过及时添加从库来降低读库压力4.单点故障主库5、数据一致性问题(同步延迟引起)MySQL+DRDB架构采用基于块块的DRBD复制模式,可以快速进行双主故障切换,很大程度上解决了主库单点故障的问题。这种架构的特点:1.高可用软件可以使用Heartbeat,它全面负责VIP、数据和DRBD服务的管理。2.主库故障后可自动快速切换,从库仍可通过VIP与新主库同步数据。3、从库也支持读写分离,可以使用中间件或程序实现MySQL+MHA架构。MHA应该也用在Mysql的高可用方案中。比较成熟和通用的解决方案,是日本人开发的。在mysql故障转移的过程中,MHA可以实现快速自动的切换操作,也可以最大程度的保持数据的一致性。该架构的特点:1.安装部署简单,不影响现有架构2.自动监控和故障转移3.保证数据一致性4.故障转移模式可采用手动或自动多向选择5.适应范围广(适用于任何存储引擎)MySQL+MMM架构MMM是MySQL的Master-MasterReplicationManager(mysqlmaster-masterreplicationmanager),是一个可伸缩的脚本套件,用于监控、故障转移和管理mysqlmaster-master复制配置(只有一个node可以随时写入),这个套件还可以基于标准的主从配置对任意数量的从服务器进行读负载均衡,所以你可以用它在一组复制服务器中启动一个虚拟ip,另外,它还实现了数据备份,节点间resync功能的脚本。MySQL本身不提供复制故障转移的解决方案。MMM方案可以实现服务器故障转移,从而实现mysql的高可用。本方案的特点:1、安全性高、稳定性高、扩展性好2、服务器数量要求至少三台以上3、双主(主从复制要求更高)4、还可以实现读写分离MySQLClusterArchitectureMysql官方推出的集群高可用解决方案。由于没用过,不好评论。摘自网上的一段解释。MySQLCluster由一组计算机组成,每台计算机都运行着各种进程,包括MySQL服务器。NDBCluster的数据节点、管理服务器和(可能的)专用数据访问程序。由于MySQLCluster架构复杂,部署需要时间(DBA通常需要几个小时才能完成设置),依赖MySQLClusterManager只需一条命令即可完成,但MySQLClusterManager是收费的。而业内资深人士认为,NDB不适用于大部分业务场景,存在安全问题。因此,很少有人使用它。