MySQL数据库 集群高可用架构
前言
本环境是基于 Centos 7.8 系统构建MySQL-5.7.14
具体构建,请参考 MySQL-5.7.14 环境构建
当线上数据量急剧上升,搭建一个mysql服务,往往是不现实的。这就需要,多个服务器共同完成数据库的读、写操作。而从就引入了集群。那么,mysql集群有哪些高可用架构呢,接下来我将详细介绍。
MySQL 主从架构
这种架构,一般初创企业比较常用,也便于后面的步步扩展。
特点:
- 成本低,布署快速、方便(MySQL 自带功能)
- 读写分离
- 还能通过及时增加从库来减少读库压力
- 主库单点故障
- 数据一致性问题(同步延迟造成)
MySQL + DRBD 架构
通过DRBD基于block块的复制模式,快速进行双主故障切换,很大程度上解决主库单点故障问题
特点:
- 高可用软件可使用Heartbeat或keeplive等,全面负责VIP、数据与DRBD服务的管理
- 主故障后可自动快速切换,并且从库仍然能通过VIP与新主库进行数据同步
- 从库也支持读写分离,可使用中间件或程序实现
MySQL + MHA 架构
MHA目前在Mysql高可用方案中应该也是比较成熟和常见的方案,它由日本人开发出来,在mysql故障切换过程中,MHA能做到快速自动切换操作,而且还能最大限度保持数据的一致性。
特点:
- 安装布署简单,不影响现有架构
- 自动监控和故障转移
- 保障数据一致性
- 故障切换方式可使用手动或自动多向选择
- 适应范围大(适用任何存储引擎)
MySQL + MMM 架构
MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器),是关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件。
特点:
- 安全、稳定性较高,可扩展性好
- 对服务器数量要求至少三台及以上
- 对双主(主从复制性要求较高)
- 同样可实现读写分离