常见的高可用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。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,891评论 18 139
  • 一、 设计理念 1.空间换时间 1)多级缓存,静态化 客户端页面缓存(http header中包含Expires/...
    帅T阅读 3,624评论 1 15
  • 问题导读: 1.如何构建高并发电商平台架构 2.哈希、B树、倒排、bitmap的作用是什么? 3.作为软件工程师,...
    MaLiang阅读 5,149评论 1 70
  • 今天,我读了一本小说《水浒传》,他塑造了一百零八位绿林好汉。 水浒传最精彩的片段是第十一章景阳冈武松打虎了,他讲了...
    学海之舟阅读 370评论 0 0
  • 探着南枝开遍未,忽觉明朝将起风。 清虚观上无小道,金顶殿前多老僧。 水边羡鱼将琴奏,山间慕竹终诗成。 寒冬雪地一言...
    十里缘起面青山阅读 379评论 0 4