当前位置: 首页 > Linux

浅谈MySQL集群高可用架构

时间:2023-04-07 01:43:57 Linux

前言高可用架构基本上是互联网服务的标准配置,无论是应用服务还是数据库服务都需要高可用。对于一个系统来说,可能包含很多模块,比如前端应用、缓存、数据库、搜索、消息队列等,每个模块都需要高可用,以保证整个系统的高可用。对于数据库服务,高可用性可能会更复杂。对用户可用的服务不仅是可访问的,而且是正确性保证的。因此,数据库的高可用解决方案一直是人们讨论的热点。今天各种高可用可用的解决方案,说说个人的一些看法,如有错误,欢迎指正!!MySQL主从架构这种架构是创业公司常用的,也方便逐步扩展。该架构的特点:1.成本低,部署快捷方便。2.读写分离。降低读数据库压力4.主库单点故障点故障问题本架构的特点: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的一个可扩展的脚本套件,用于监控、故障转移和管理主复制配置(任何时候只能写入一个节点),它也可以从任意数量的从服务器读取负载,基于标准的主从配置平衡,所以你可以用它在一个集合上启动一个虚拟ip复制的服务器。此外,它还有用于节点间数据备份和重新同步的脚本。MySQL本身不提供复制故障转移的解决方案。MMM方案可以实现服务器故障转移,从而实现mysql的高可用。本方案的特点:1、安全性高、稳定性高、扩展性好2、服务器数量要求至少三台以上3、双主(主从复制要求更高)4、还可以实现读写分离MySQLClusterArchitectureMysql官方推出的集群高可用解决方案。由于没用过,不好评论。摘自网上的一段解释。MySQLCluster由一组计算机组成,每台计算机都运行着各种进程,包括MySQL服务器。NDBCluster的数据节点、管理服务器和(可能的)专用数据访问程序。由于MySQLCluster结构复杂,部署需要时间(DBA通常需要几个小时才能完成设置),依赖MySQLClusterManager只需一条命令即可完成,但MySQLClusterManager是收费的。而业内资深人士认为,NDB不适用于大部分业务场景,存在安全问题。因此,很少有人使用它。有兴趣的可以研究一下官方文档:https://dev.mysql.com/doc/ref...