高性能的MySQL

高可用性需要解决的两个问题:
一是,如何实现数据共享或同步数据
二是,如何处理failover(failover指当服务器死机或出现错误时可以自动切换到其他备用服务器,不影响服务器上业务系统的运行)

1,主从复制解决方案
数据同步方法采用的是MySQL replication技术

一个日志复制过程

在复制过程中一台服务器充当主服务器,一台或多台充当从服务器

🔺从服务器到主服务器拉取二进制日志文件,再将日志文件解析成相应的SQL在从服务器上重新执行一遍主服务器的一致性

问题:
MySQL replication技术仅仅提供日志的同步执行功能
从服务器只提供读操作
主服务器发生故障时,必须手动处理failover(通常做法是将一台从服务器改为主服务器)

2,MMM高可用解决方案
MMM:MySQL主主复制管理器

主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件

典型的应用是双主多从架构

通过MySQL replication技术实现两台服务器互为主从,任何时候只有一个节点可以写入,避免多点写入的数据冲突

主节点故障时,可以立刻监控到,然后服务▲自动切换到另一个主节点

3,Heartbear/SAN高可用解决方案
处理failover的方式是高可用集群软件Heartbeat

在数据共享方面,通过SAN存储来共享数据

当集群故障时,Heartbeat会首先通过一个仲裁设备将主节点挂载的存储设备释放,然后再备用节点上挂载存储,接着启动服务,以实现数据共享和同步

4,Heartbeat/DRBD高可用解决方案

5,MySQL Cluster高可用解决方案

附:
通过keepalived搭建MySQL双主模式的高可用集群系统
(1)MySQL Replication介绍
一台MySQL服务器从另一台MySQL服务器上复制日志,然后解析日志并应用到自身的过程

单向、异步复制

基本复制过程:
Master服务器首先将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志的循环;当一台Slave服务器连接Master服务器时,从Master服务器日志中读取上一次成功更新的位置,然后Slave服务器开始接收上一次完成更新后所发生的更新,更新完成后再等在服务器通知新的更新

支持链式复制,级Slave服务器下还可以在链接Slave服务器,同时Slave服务器可以充当Master服务器角色

在MySQL主从复制中,所有表的更新必须在Master服务器上进行,Slave服务器仅能提供查询操作

优点:
增加了MySQL应用健壮性,如果Master服务器出现问题,可以随时切换到Slave服务器
可以将MySQL读写操作分离,写操作只在Mater服务器完成,读操作可以在多个Slave服务器完成
在网络好喝业务量不是很大的环境中,同步数据非常快,基本可以达到试试同步

复制方式:
基于语句的复制(默认,效率很高)
基于行的复制
混合类型复制

(2)实现原理
是从一个Master复制到一台或多台Slave的异步过程
组要有三个线程,IO线程一个在Master端,SQL线程和IO线程在Slave段

(3)常用架构
一主一从
一主多从
主主互备(两台Mysql Server互相将对方作为自己的Master,自由同时做对方色Slave)
双主多从

(4)主主互备模式架构
采用Keepalived来实现MySql的自动failover

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值