Mysql高可用方案对比

Mysql高可用
HA解决方案 简介 开发语言 发布时间及组织 目前状态 架构方式 切换方式 优点 缺点 适用场景 安装使用
MHA Master High Availability的简称,目前在MySQL高可用方面是一个相对成熟的解决方案 Perl 日本DeNA公司youshimaton(现就职于Facebook公司)开发并开源,于10年发布 开源社区活跃,有相关维护人员 至少3节点,主DB1台,从DB2-N台,IP地址N+2 自动切换,从服务器:选举具有最新更新的slave,尝试从宕机的master中保存二进制日志,应用差异的中继日志到其它的slave,应用从master保存的二进制日志,提升选举的slave为master,配置其它的slave向新的master同步 MHA除了支持日志点的复制还支持GTID的方式,同MMM相比,MHA会尝试从旧的Master中恢复旧的二进制日志,只是未必每次都能成功。如果希望更少的数据丢失场景,建议使用MHA架构。 MHA需要自行开发VIP转移脚本,配置相对繁琐,只监控Master的状态,不监控Slave的状态 作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。目前业界最普遍的高可用方案 yum或下载安装包手动安装
MMM Multi-Master Replication Manager的简称,用于管理mysql主主架构的工具集 Perl Google03年前的开源项目 最新资料日期为09年或12年,已停止维护 主DB2台,从DB0-N台,IP地址2N+1 手动切换,在slave上完成已传输的binlog,在master上关闭read_only,迁移VIP到slave 工具包相对比较完善,不需要额外的开发脚本 故障简单粗暴,容易丢失事务。必须是基于日志点的复制,不能支持gtid 读写都需要高可用,或基于日志点的复制方式 不建议使用
MGR MySQL Group Replication的简称,MySQL 5.7版本开始支持无损半同步复制(lossless semi-sync replication),从而进一步提示数据复制的强一致性。实现了分布式架构下的数据一致性,同时提供高可用,高扩展,高可靠,金融级分布式方案。 MYSQL的插件,C或C++开发 MYSQL官方2016年12月12日在5.7.17版本发布的新技术 开源社区活跃,有相关维护人员 最少3节点,最多9节点,基于paxos协议复制,不同于异步复制的多Master复制集群。单主模式下,MGR集群会选出primary节点负责写请求,primary节点与其它节点都可以进行读请求处理. 自动切换,切换时间实测大概在3s左右 基本无延迟,延迟比异步的小很多,支持多写模式,但是目前还不是很成熟,数据的强一致性,可以保证数据事务不丢失 仅支持innodb,只能用在GTID模式下,且日志格式为row格式 对主从延迟比较敏感,希望对写服务提供高可用,又不想安装第三方软件,数据强一致的场景 MYSQL-server5.7.20及以上版本自带
MySQL InnoDB Cluster MySQL官方17年发布的高可用架构方案——MySQL InnoDB Cluster 底层基于MGR的高可用架构方案
Mycat 国内从业者基于阿里内部项目Cobar二次开发的改良版,属于数据库中间件,后端支持Mysql、Oracle、Mongodb等多种数据库 Java(Java1.7) 15年正式发布成熟社区版 风评较差,资料不足,开源社区不太活跃 自动切换,检测salve心跳,不通则切换 资料提示可能存在多点写入风险 下载安装包手动安装

posted @ 2022-04-08 15:42  小雨淅淅o0  阅读(279)  评论(0编辑  收藏  举报