mysql高可用集群方案

这里有一篇关于Mysql高可用方案的干货文章:[干货分享] 一文了解数据库高可用容灾方案的设计与实现

网友们公司中的使用方案讨论:想问各位大大 MySQL 是怎么做高可用的?

一、Mysql高可用解决方案

方案一:共享存储

一般共享存储采用比较多的是 SAN/NAS 方案。

方案二:操作系统实时数据块复制

这个方案的典型场景是 DRBD,DRBD架构(MySQL+DRBD+Heartbeat)

方案三:主从复制架构

主从复制(一主多从)

MMM架构(双主多从)

MHA架构(多主多从)

方案四:数据库高可用架构

这种方式比较经典的案例包括 MGR(MySQL Group Replication)和 Galera 等,最近业内也有一些类似的尝试,如使用一致性协议算法,自研高可用数据库的架构等。

1.MGR(MySQL Group Replication,MySQL官方开发的一个实现MySQL高可用集群的一个工具。第一个GA版本正式发布于MySQL5.7.17中)

2.Galera

其它方案:

MySQL Cluster(ndb存储引擎,比较复杂,业界并没有大规模使用)

PXC(Percona XtraDB Cluster)

如何选择合适的Mysql集群架构?

MHA看业务规模和需求选择

mysql官方的Mysql Cluster。比较复杂,团队有人、资源充足,可以考虑尝试,貌似用的人不多。

小团队或资源不足或小项目直接建议阿里云、腾讯云

二、部分常见方案的简介

1.Mysql主从架构

2.MySQL+MHA 架构

参考:生产环境MySQL数据库集群MHA上线实施方案

MHA,全称为MasterHigh Availability Manager and Toolsfor MySQL,是日本的一位MySQL专家采用Perl语言编写的一个脚本管理工具,该工具仅适用于MySQLReplication 环境,目的在于维持Master主库的高可用性。

MHA是基于标准的MySQL复制(异步/半同步)。

MHA是由管理节点(MHA Manager)和数据节点(MHA Node)两部分组成。

MHA Manager可以单独部署在一台独立机器,也可以部署在一台slave上。

3.MySQL+MMM 架构

可参考:MySQL-MMM实现MySQL高可用

MMM优缺点
  优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。
  缺点:Monitor节点是单点,可以结合Keepalived实现高可用。

4.MySQL+DRBD 架构(MySQL+DRBD+Heartbeat)

官网:https://www.linbit.com/en/drbd-community/drbd-download/

三、读写分离解决方案

  • 客户端解决方案(应用层):TDDL、 Sharding-Jdbc (常用shardding-jdbc)
  • 中间件解决方案(代理层):mysql proxy、mycat、altas  (常用mycat)

          

客户端解决方案的特点:

优点:

  1、程序自动完成,数据源方便管理

  2、不需要维护,因为没用中间件

  3、理论支持任何数据库 (sql标准)

缺点:

  1、增加了开发成本、代码有入侵

  2、不能做到动态增加数据源

  3、程序员开发完成,运维参与不了。

中间件解决方案的特点:

优点:

  1、数据增加了都程序没用任何影响

  2、应用层(程序)不需要管数据库方面的事情

  3、增加数据源不需要重启程序

缺点:

  1、程序依赖中间件,导致切换数据库变的困难

  2、增加了proxy 性能下降

  3、增加了维护工作、高可用问题。

参考:

浅谈MySQL集群高可用架构

[干货分享] 一文了解数据库高可用容灾方案的设计与实现

原文地址:https://www.cnblogs.com/rouqinglangzi/p/10921982.html

时间: 2024-10-12 12:59:31

mysql高可用集群方案的相关文章

Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置高可用httpd,mysql,lvs

本章主要配置heartbeat v2基于crm+hb_gui接口,配置高可用httpd,mysql,lvs. 如何安装heartbeat v2.httpd.nfs.配置心跳连接.ssh密钥通信.同步时间.添加名称解析.配置yum源等请参照: >> Linux高可用集群方案之配置heartbeat v2基于haresources配置文件的httpd高可用集群 http://ccschan.blog.51cto.com/11854461/1922966  ll  本文导航    · 前期准备及相关

通过MMM构建MYSQL高可用集群系统

本文为南非蚂蚁的书籍<循序渐进linux-第二版>-8.4的读笔记 MMM集群套件(MYSQL主主复制管理器) MMM套件主要的功能是通过下面三个脚本实现的 1)mmm_mond 这是一个监控进程,运行在管理节点上,主要负责都所有数据库的监控工作,同时决定和处理所有节点的角色切换 2)mmm_agentd 这是一个代理进程,运行在每个MYSQL服务器上,主要完成监控的测试工作以及执行简单的远端服务设置 3)mmm_control 简单的管理脚本,用来查看和管理集群运行状态,同事管理mmm_mo

企业主流MySQL高可用集群架构三部曲之PXC

前段时间,老张给大家介绍了企业中主流MySQL高可用集群架构三部曲中的前两部,有不了解的同学可以去访问我之前的博客内容. 第一部曲直通车>> 企业中MySQL主流高可用架构实战三部曲之MHA 第二部曲直通车>>企业中MySQL高可用集群架构三部曲之MM+keepalived 独家新课程上线>>MySQL体系结构深入剖析及实战DBA视频课程 今儿给大家介绍最后一部曲,是percona公司的percona xtraDB cluster.简称PXC.它是基于GaLera协议的

基于heartbeat v2 crm实现基于nfs的mysql高可用集群

前言 因heartbeat v1内置的资源管理器haresource功能比较简单,且不支持图形化管理,所以heartbeat v2不再支持haresource,转而使用更加强大的资源管理器crm进行集群管理.本文将讲解如何基于heartbeat v2 crm实现基于nfs的mysql高可用集群. 高可用实现 实验拓扑 实验环境 node1:172.16.10.123 mariadb-5.5.36 CentOS6.6 node2:172.16.10.124 mariadb-5.5.36 CentO

ProxySQL Cluster 配置详解 以及 高可用集群方案部署记录(完结篇)

早期的ProxySQL若需要做高可用,需要搭建两个实例,进行冗余.但两个ProxySQL实例之间的数据并不能共通,在主实例上配置后,仍需要在备用节点上进行配置,对管理来说非常不方便.但是ProxySQl 从1.4.2版本后,ProxySQL支持原生的Cluster集群搭建,实例之间可以互通一些配置数据,大大简化了管理与维护操作. ProxySQL是一个非中心化代理,在拓扑中,建议将它部署在靠近应用程序服务器的位置处.ProxySQL节点可以很方便地扩展到上百个节点,因为它支持runtime修改配

# IT明星不是梦 # MySQL高可用集群之MMM

MySQL高可用集群之MMM 一.MMM简介 MMM即Multi-Master Replication Manager for MySQL(mysql多主复制管理器),基于perl实现,关于mysql主主复制配置的监控.故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),MMM也能对从服务器进行读负载均衡,所以可以用它来在一组用于复制的服务器启动虚拟IP,除此之外,它还有实现数据备份.节点之间重新同步功能的脚本.MySQL本身没有提供replication failover

MySQL高可用集群之MHA

MySQL高可用集群之MHA 一.MHA简介 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件.在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用. MHA里有两

Oracle的三种高可用集群方案

Oracle的三种高可用集群方案 主要有三种: 1. RAC RAC,  Real Application Clusters 多个Oracle服务器组成一个共享的Cache,而这些Oracle服务器共享一个基于网络的存储.这个系统可以容忍单机/或是多机失败. 不过系统内部的多个节点需要高速网络互连,基本上也就是要全部东西放在在一个机房内,或者说一个数据中心内.如果机房出故障,比如网络不通,那就坏了.所以仅仅用RAC还是满足不了一般互联网公司的重要业务的需要,重要业务需要多机房来容忍单个机房的事故

keepalived实现高可用集群方案

一.keepalived和VRRP协议介绍 keepalived是基于vrrp协议实现的一个高可用集群解决方案,可以利用keepalived来解决单点故障问题,使用keepalived实现的高可用集群方案中,一般有两台服务器,一个是MASTER(主服务器),另一个是BACKUP(备用服务器),这个集群中对外提供一个虚拟IP,MASTER服务器会定时发送特定信息给BACKUP服务器,当BACKUP服务器接收不到MASTER发送的消息时,BACKUP服务器会接管虚拟IP,继续提供服务. VRRP协议