即将开源的新一代MySQL高可用组件:MySQL Plus

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 在基于MySQL传统复制的时代(MySQL版本低于5.5),MHA在MySQL高可用中可以说是独领风骚。 在MySQL 5.6及GTID的出现后,MHA在这方面就显的不那么给力了,和MHA作者交流,作者基本放弃对该软件的维护了,MHA作者目前在Facebook就职,自身也没再使用MHA,他也认为在GTID环境下MHA存在的价值不大,不过如果你还在使用传统复制,还是可以考虑使用MHA做主从的高可用(太老了,建议升级)。

在基于MySQL传统复制的时代(MySQL版本低于5.5),MHA在MySQL高可用中可以说是独领风骚。

在MySQL 5.6及GTID的出现后,MHA在这方面就显的不那么给力了,和MHA作者交流,作者基本放弃对该软件的维护了,MHA作者目前在Facebook就职,自身也没再使用MHA,他也认为在GTID环境下MHA存在的价值不大,不过如果你还在使用传统复制,还是可以考虑使用MHA做主从的高可用(太老了,建议升级)。

1、在MySQL 5.7 后为什么不需要MHA;

2、MySQL Plus 是什么,能解决什么问题?

3、MySQL Plus看他们如何搞定金融支持?

MySQL 5.7后为什么不需要MHA

基于MySQL 5.7 GTID复制已经成熟,另外基于MySQL5.7的增强半同步性进一步提升。在使用MySQL 5.7的复制可以使用: MySQL 5.7+GTID+增强半步, 在该结构中, 不存在丢数据的问题, 即MHA在这个结构基本失去了存在的意义。

但使用: MySQL 5.7+GTID+增强半步,也意味着新的知识,可能需要DBA同学们也要更新一下知识。而且在MySQL 5.7中引入binlog group commit, 又是对复制的一个加速。

所以说MySQL5.7 在复制完整性及性能上都有较大地提升,建议没升级的同学尽快升级了。

官方对MySQL 5.7的测试传送门:https://www.mysql.com/why-mysql/benchmarks/

MySQL Plus是什么,能解决什么问题

在3306π北京活动中 青云的蒙哲分享了青云RDS中高可用组件: MySQL Plus。

MySQL Plus是基于一套Raft构建的MySQL中自动选主及维护主从的套件,整体结构如下:

e28812561bb7c20267a7d4624433e3476727f328

在该结构中Xenon之间会进行通信,在该结构中推荐三个节点的MySQL构建复制,听作者讲也支持两个节点的MySQL构建集群。

在MySQL Plus主要解决:

1、集群切换的强一致性(从上面架构看,更多的依赖于MySQL增强半同步,MySQL Plus在控制切换时,会做复制完成校验,从而且保证数据一致)

2、主从秒级别切换

3、无中心化自动选主

MySQL Plus看他们如何搞定金融环境

MySQL Plus 可以简单的理解是一个MySQL 5.7 GTID增强半同步复制的高可用管理组件。 在MySQL半同步配置方面,为了支持金融业务,青云给的配置如下:

  • rpl_semi_sync_master_wait_no_slave=ON

  • rpl_semi_sync_master_timeout=1000000000000000000

  • rpl_semi_sync_master_wait_point=AFTER_SYNC

看到这个配置我才想明白为什么他们的建议是三个节点,在rpl_semi_sync_master_timeout配置上,可以说不允许退化到异步复制, 与RadonDB负责人交流,在MySQL Plus架构中主节点上至少要求一个Slave给半同步应答,所以2个节点对架构的稳定性也是一个保证。

另外在金融环境中,作者推荐所有请求都在主库上完成,免得存在复制延迟造成交易数据异常。

在金融架构中,青云也提供了一套基于MySQL Plus之上构建建的分库分表机制, 基于MySQL的事务强一致性约,在该平台支持OLTP和OLAP更感觉有点NewSQL的感觉。

下面是官方给的一个总结:

d61f5c9ff37ea377cdb75d930c01347b9ce2d823

原文发布时间为:2018-04-20本文作者:吴炳锡本文来自云栖社区合作伙伴“ 老叶茶馆”,了解相关信息可以关注“ 老叶茶馆”。
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 存储 缓存
MySQL - 一文了解MySQL的基础架构及各个组件的作用
MySQL - 一文了解MySQL的基础架构及各个组件的作用
|
2月前
|
存储 关系型数据库 MySQL
Mysql高可用|索引|事务 | 调优
Mysql高可用|索引|事务 | 调优
|
3月前
|
SQL 容灾 关系型数据库
rds容灾与高可用
rds容灾与高可用
28 4
|
3月前
|
关系型数据库 MySQL
电子好书发您分享《MySQL MGR 8.0高可用实战》
电子好书发您分享《MySQL MGR 8.0高可用实战》 电子好书发您分享《MySQL MGR 8.0高可用实战》
90 1
|
3月前
|
SQL 关系型数据库 MySQL
池式组件-Mysql连接池的原理与实现
池式组件-Mysql连接池的原理与实现
88 0
|
2月前
|
监控 容灾 关系型数据库
rds容灾与高可用
rds容灾与高可用
45 6
|
2月前
|
SQL 存储 缓存
【MySQL】一文了解MySQL的基础架构及各个组件的作用
不管是开运、运维、测试,都或多或少的要接触MySQL,了解MySQL的基础架构及各个组件之间的关系,有助于我们更加深入的理解MySQL
322 6
【MySQL】一文了解MySQL的基础架构及各个组件的作用
|
3月前
|
关系型数据库 MySQL 数据处理
MySQL vs. PostgreSQL:选择适合你的开源数据库
在当今信息时代,开源数据库成为许多企业和开发者的首选。本文将比较两个主流的开源数据库——MySQL和PostgreSQL,分析它们的特点、优势和适用场景,以帮助读者做出明智的选择。
|
3月前
|
SQL 关系型数据库 MySQL
Mysql高可用,索引,事务与调优:提高数据库性能的关键技术
在当今互联网时代,高可用性、稳定性和性能是数据库的三大关键要素。本文将深入探讨Mysql高可用、索引、事务和调优等方面的技术,为读者提供实用的解决方案和经验。
24 0
|
3月前
|
监控 关系型数据库 MySQL
MySQL高可用与性能优化综述
MySQL作为一种常用的关系型数据库管理系统,高可用性、索引优化、事务处理和性能调优一直是开发人员和运维人员关注的重点。本文将从MySQL高可用性解决方案、索引设计与优化、事务处理最佳实践以及性能调优策略等方面进行探讨,为读者提供全面的MySQL技术知识概览。