共计 1865 个字符,预计需要花费 5 分钟才能阅读完成。
这篇文章主要介绍常见的高可用 MySQL 解决方案有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1. 主从复制解决方案
主从复制解决方案是 MySQL 自身提供的一种高可用解决方案,数据同步方法采用的是 MySQL 复制技术。
MySQL 复制就是一个日志的复制过程,在复制过程中的一个服务器充当主服务器,而一个或多个其他服务器充当从服务器。
简单说,就是从服务器到主服务器拉取二进制日志文件,然后再将日志文件解析成相应的 SQL 在从服务器上重新执行一遍
主服务器的操作,通过这种方式保证数据的一致性。
MySQL 复制技术仅仅提供了日志的同步执行功能,而从服务器只能提供读操作,并且当主服务器出现故障时,必须通过
手动来处理故障转移,通常的做法是将一台从服务器更改为主服务器,这种解决方案在一定程度上实现了 MySQL 的高可用性,
可以实现 90% 的 SLA(Service-Level Agreement)。
为了达到更高的可用性,在实际的应用环境中,一般都是采用 MySQL 复制技术配合高可用集群软件来实现自动故障转移,
这种方式可以实现 95% 的 SLA。
2. MMM 高可用解决方案
MMM 是 Master-Master Replication Manager for MySQL 的缩写,全称为 MySQL 主主复制管理器,它提供了 MySQL 主主复制
配置的监控、故障转移和管理的一套可伸缩的脚本套件。在 MMM 高可用方案中,典型的应用是双主多从架构,通过 MySQL 复制
技术可以实现两个服务器互为主从,且在任何时候只有一个节点可以被写入,避免了多点写入的数据冲突。同时,当可用的
主节点出故障时,MMM 套件可以立刻监控到,然后将服务自动切换到另一个主节点继续提供服务,从而实现 MySQL 的高可用。
MMM 方案是目前比较成熟的 MySQL 的高可用解决方案,可以实现 99% 的 SLA。
3.Heartbeat/SAN 高可用解决方案
Heartbeat/SAN 高可用解决方案是借助第三方软硬件实现的。在这个方案中,处理故障转移的方式是高可用集群软件 Heartbeat,
它监控和管理各个节点间连接的网络,并监控集群服务,当节点出现故障或者服务不可用时,自动在其他节点启动集群服务。
在数据共享方面,通过 SAN 存储来共享数据,在正常状态下,集群主节点将挂接存储进行数据读写,而当集群发生故障时,
Heartbeat 会首先通过一个仲裁设备将主节点挂接的存储设备释放,然后在备用节点上挂接存储,接着启动服务,通过这种方式
实现数据的共享和同步。这种数据共享方式实现简单,但是成本较高,并且存在脑裂的可能,需要根据实际应用环境来选择,这种
方案可以实现 99.99% 的 SLA。
4.Heartbeat/DRBD 高可用解决方案
Heartbeat/DRBD 高可用解决方案也借助于第三方软硬件来实现,在处理故障转移的方式上依旧采用 Heartbeat, 不同的是,在数据
共享方面,采用了基于块级别的数据同步软件 DRBD 来实现。
DRBD 即 Distributed Replication Block Device, 是一个用软件实现的,无共享的,服务器之间镜像块设备内容的分布式存储复制
解决方案。和 SAN 网络不同,它不共享存储,而是通过服务器之间的网络复制数据,这种方案实现起来稍微复杂,同时也存在脑裂的
问题,可以实现 99.9% 的 SLA。
5.MySQL Cluster 高可用解决方案
MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster。通过无共享体系结构,系统能够
使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。
MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括 MySQL 服务器,NDB Cluster 的数据节点,管理服务器,
以及(可能)专门的数据访问程序。
MySQL Cluster 由一组服务节点构成,每个服务节点上均运行着很多进程,包括 MySQL 服务器,NDB Cluster 的数据节点,管理服务器,
以及专门的数据访问程序。此解决方案是 MySQL 官方主推的技术方案,功能强大,但是由于实现过程较为繁琐,配置麻烦,实际的企业应用
并不是太多。MySQL Cluster 的标准版和电信版 (针对电信运营商) 可以达到 99.999% 的 SLA。
以上是“常见的高可用 MySQL 解决方案有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!