赞
踩
目录
MMM (Multi-Master Replication Manager)方案(单主)
MHA (Master High Availability)架构(单主)
MGR (MySQL Group Replication)架构(单/多主)
双主模式是指两台服务器互为主从,任何一台服务器数据变更,都会通过复制应用到另外一方的数据库中。高可用架构如下图所示,其中一个Master提供线上服务,另一个Master作为备胎供高可用切换, Master下游挂载Slave承担读请求。
在A主库写入,当A数据未同步到B主库时,对B主库写入,如果采用自动递增容易发生ID主键的冲突。可以采用MySQL自身的自动增长步长来解决,例如A的主键为1,3,5,7...,B的主键为2,4,6,8... ,但是对数据库运维、扩展都不友好。
同一条记录在两个主库中进行更新,会发生前面覆盖后面的更新丢失。
MySQL 高可用方案之 MMM(Multi-Master Replication Manager)是一种常用的解决方案,用于实现 MySQL 数据库的高可用性和负载均衡。虽然是双主架构,但是业务上同一时间只允许一 个节点进行写入操作。
MMM 基于 MySQL 的复制机制,通过在多个 MySQL 实例之间进行主从复制,实现了数据的同步和备份。它的主要特点是可以实现多主复制,即多个 MySQL 实例可以同时作为主节点接收写操作,并将这些写操作同步到其他从节点上。
MMM 的工作原理如下:
使用 MMM 可以有效地提高 MySQL 数据库的可用性和性能。然而,需要注意的是,MMM 并不能解决所有的高可用问题,例如**网络分区和数据一致性 **等问题。在实际应用中,还需要结合其他技术和方案,如数据库集群、数据复制和数据备份等,来构建更完善的高可用架构。
MMM 作为 MySQL 高可用方案,具有以下优点和缺点:
优点:
缺点:
MySQL MHA(Master High Availability)是一种用于 MySQL 数据库的高可用性架构。它的设计目标是确保在主数据库发生故障时,能够快速自动地将备库(Slave)提升为新的主库,以保证系统的连续性和可用性。
MHA 架构由以下几个核心组件组成:
MHA 的工作流程如下:
MHA 架构的优点包括:
MHA 架构虽然有很多优点,但也存在一些潜在的缺点:
需要注意的是,MHA 并不是万能的解决方案,它适用于大多数的 MySQL 数据库场景,但在特定的情况下可能需要根据实际需求进行定制化的配置和调整。此外,为了确保 MHA 的正常运行,还需要进行定期的监控和维护工作,以保证系统的稳定性和可靠性。
MGR(MySQL Group Replication)是 MySQL 官方提供的一种高可用性架构,用于实现 MySQL 数据库的主从复制和自动故障切换。MGR 基于 MySQL 的 InnoDB 存储引擎和 Group Replication 插件,通过使用多主复制的方式来提供高可用性和数据一致性。
MGR 架构的核心组件包括:
MGR 架构的工作流程如下:
MGR 架构的优点包括:
需要注意的是,MGR 架构也有一些限制和注意事项:
在使用 MGR 之前,建议进行充分的测试和评估,以确保它能够满足系统的可用性和性能要求,并根据具体的应用场景和需求进行适当的配置和调整。
MySQL Cluster 是 MySQL 官方提供的一种分布式数据库解决方案,旨在提供高可用性、可扩展性和实时性能。它基于 NDB(Network DataBase)存储引擎(国内主流是INNODB引擎,所以这个方案用的少),使用多台服务器组成一个集群,提供数据的分片和复制,以实现高可用性和负载均衡。
MySQL Cluster 架构的核心组件包括:
MySQL Cluster 架构的工作流程如下:
MySQL Cluster 架构的优点包括:
需要注意的是,MySQL Cluster 也有一些限制和注意事项:
在使用 MySQL Cluster 之前,建议进行充分的测试和评估,以确保它能够满足系统的可用性、性能和扩展性要求,并根据具体的应用场景和需求进行适当的配置和调整。
Galera Cluster 是一个基于同步多主复制的 MySQL 集群解决方案。它使用 Galera Replication 插件,通过在多个 MySQL 节点之间同步数据来实现高可用性和负载均衡。
Galera Cluster 的核心组件包括:
Galera Cluster 的工作流程如下:
Galera Cluster 的优点包括:
需要注意的是,Galera Cluster 也有一些限制和注意事项:
在使用 Galera Cluster 之前,建议进行充分的测试和评估,以确保它能够满足系统的可用性、性能和扩展性要求,并根据具体的应用场景和需求进行适当的配置和调整。
PXC(Percona XtraDB Cluster)是一个基于 Galera Cluster 的高可用性和高性能的 MySQL 集群解决方案。它是由 Percona 开发的,建立在 Galera Replication 插件之上,提供了多主复制和数据同步的功能。
PXC 架构的核心组件包括:
PXC 架构的工作流程如下:
PXC 架构的优点包括:
需要注意的是,PXC 也有一些限制和注意事项:
在使用 PXC 之前,建议进行充分的测试和评估,以确保它能够满足系统的可用性、性能和扩展性要求,并根据具体的应用场景和需求进行适当的配置和调整。
RAID10(Redundant Array of Independent Disks 10)是一种存储方案,它结合了 RAID 1(镜像)和 RAID 0(条带化)的特性。RAID10 通过将多个磁盘组合在一起,提供了数据冗余和性能增强的优势。
在 RAID10 中,磁盘被分为两组,每组至少有两个磁盘。其中一组磁盘使用镜像技术,即数据被同时写入两个磁盘,提供了数据的冗余备份。另一组磁盘使用条带化技术,即数据被分块地写入多个磁盘,提供了更好的读写性能。
RAID10 的特点和优势包括:
需要注意的是,RAID10 的缺点包括:
RAID10 适用于对数据冗余性和性能要求较高的应用场景,如数据库服务器、虚拟化环境和高性能计算等。在选择 RAID 级别时,需要根据具体的需求和预算来权衡各种因素。
SAN(Storage Area Network)是一种专门用于存储数据的高速网络架构。它将存储设备(如磁盘阵列、磁带库等)与服务器连接起来,提供高性能、高可用性和可扩展性的存储解决方案。
常规SAN共享存储架构图
SAN 存储网络的特点和优势包括:
需要注意的是,SAN 存储网络也有一些限制和注意事项:
SAN 存储网络适用于对存储性能、可用性和扩展性要求较高的应用场景,如大型企业、数据中心、虚拟化环境等。在选择和部署 SAN 存储网络时,需要根据具体的需求和预算来权衡各种因素,并确保与服务器和应用程序的兼容性。
简单说一下DRBD主要功能,DRBD 负责接收数据,把数据写到本地磁盘,然后通过网络将同样的数据发送给另一个主机,另一个主机再将数据存到自己的磁盘中。
MySQL 与 DRBD (Distributed Replicated Block Device,分布式复制块设备) 结合使用可以实现高可用性的数据库方案。通过将 MySQL 数据库的数据目录配置为 DRBD 设备,可以实现数据的实时复制和故障转移。
在 MySQL 与 DRBD 方案中,通常会有两个节点:一个主节点和一个备节点。主节点负责处理所有的读写操作,并将数据实时复制到备节点上。备节点会持续地从主节点复制数据,以保持数据的一致性。
当主节点发生故障时,备节点可以接管主节点的角色,成为新的主节点,继续提供数据库服务。这种故障转移过程是自动的,可以通过配置和管理工具(如 Pacemaker)来实现。
使用 MySQL 与 DRBD 方案可以提供数据库的冗余和故障转移能力,从而提高数据库的可靠性和可用性。当主节点发生故障时,系统可以自动切换到备节点,减少数据库服务的中断时间。
需要注意的是,配置和管理 MySQL 与 DRBD 方案需要一定的技术知识和经验。此外,对网络的稳定性和带宽要求较高,以确保数据的实时复制和同步。因此,在实施该方案之前,建议进行充分的规划和测试,以确保系统的稳定性和可靠性。
————————————————
版权声明:本文为CSDN博主「程序员朱永胜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/njpkhuan/article/details/132798763
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。