前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql 集群高可用方案 MHA

Mysql 集群高可用方案 MHA

作者头像
dys
发布2018-04-03 17:49:45
1.7K0
发布2018-04-03 17:49:45
举报
文章被收录于专栏:性能与架构性能与架构

MHA是什么?

MHA(master high availability) 是用来保证 Mysql 集群高可用性的,对 master 进行监控,发现 master 出现故障后,自动进行故障转移,从众多 slave 中选举出新的 master,并使其他 slave 与新 master 进行同步

主要特点是故障处理速度快,最大程度上保证数据不丢失

工作原理

当 master 出现故障后,MHA 会尽快抢救数据,尝试到 master 中获取二进制日志,如果不是物理故障,通常可以成功拿到

选举出新的 master,规则是看哪个 slave 上的数据是最新的

找出最新 slave 后,其他 slave 会对比最新 slave 的数据,看自己有哪些差距,形成差异日志

如果从故障 master 中成功获取了二进制日志的话,会在这个最新 slave 上进行回放,保证数据一致

把这个最新 slave 提升为新的 master

其它 slave 应用相应的差异日志,并开始从新的 master 开始复制

优势

(1)故障处理速度快

一般在 30s 内就可以完成

(2)数据安全性好

slave 之间使用差异日志,保证了数据的一致,通过半同步复制的配合,几乎可以保证数据不丢失

(3)易扩展

使用 Perl 开发,开源,开放接口,支持其他语言开发扩展

修改原有功能代码和扩展开发都很方便

(4)可以监控多个集群

一个 MHA 管理服务器可以管理多个集群

不足

(1)只监控 master

MHA 只保证了 master 的高可用,并没有监控 slave 的状态,例如某 slave 出现复制中断、延迟增加等问题,都是不知道的

(2)没有集成虚拟IP的配置

在故障转移时,为使对外透明,需要使用虚拟IP,MHA没有自动实现VIP,需要我们自己实现

(3)安全问题

MHA 要求所有服务器之间都配置SSH免登录,存在一定的安全隐患,如果某台服务器出现了安全问题,那么就可能影响其他服务器

MHA 是目前非常成熟的高可用性方案,这里先大体了解下MHA,之后再详细介绍配置过程

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MHA是什么?
  • 工作原理
  • 优势
  • 不足
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档