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

MySQL高可用方案升级规划

作者头像
jeanron100
发布2019-07-12 15:19:44
1.1K0
发布2019-07-12 15:19:44
举报
文章被收录于专栏:杨建荣的学习笔记

我们目前有新系统和老系统,老系统因为历史原因使用的是MySQL 5.5版本,新系统有了整体的规划,使用的是MySQL 5.7版本。

在数据库高可用方案上也有多种不同的组合:

  • LVS+keepalived+MHA+VIP
  • MHA+VIP
  • MHA+consul
  • 异步主从
  • 单实例

环境类型有多种:

  • 线上环境
  • 预发布环境
  • 测试环境

现在面对这些环境,需要整体规划一下高可用方案的升级策略。

当然整体的方向是不变的,即从5.5版本升级到5.7版本,原本使用VIP的模式需要升级为DNS,原本的主从模式需要升级为高可用模式。

对于这件事情,一方面为了保证进度,另一方面保证可行性。我们决定从测试环境开始入手。

大家对于测试环境相对是比较开放的,至少权限上不会有那么多的限制,对于性能也不会有硬性需求。 新方案的落地,我们需要一个迭代的过程,即通过测试环境的整合来让开发同学对于DNS方案有一个直观的认识和熟悉的过程,整体来说,需要做以下的几件事情。

1)原本的测试环境需要做整合,单机多实例的环境需要整合的更加精简,比如原本是一台机器10个实例,我们需要整合为5个实例,类似这样的意思。

2)对于5.5版本升级,我们可以直接逻辑迁移数据库到整合后的新版本中,这种操作的可行性相对更好一些。

3)对于应用端,可以使用DNS的方式来连接,即原来的IP端口修改为域名的方式

4)后续对于测试环境的业务对接,不再使用IP,而统一对接域名的方式

测试环境试运行一段时间之后,逐步升级5.5和5.7版本的高可用方案。

对于异步主从模式的环境,如果是5.5版本,需要和业务方进行协商,升级为5.7版本+高可用模式。 可以配置新的VIP,然后系统团队协助进行IP和VIP的在线切换,这样一来应用端就无须修改IP,而直接使用VIP的方式。

如果是业务优先级不高的环境,可以直接采用升级5.5至5.7,升级高可用+DNS的模式。

对于数据量较大的5.5版本,可以考虑通过跨版本的级联从库来完成。

而对于5.7版本,其实需要做高可用方案的进一步升级,如果说MHA是1.0版本,那么基于DNS的方案就是2.0,而基于MGR的方案则是3.0

所以对于测试环境来说,需要先行测试MGR+consul的组合方案,找一个业务方来寻找落地的场景。 因为MGR一主一从是可行的,所以我们可以对原来的方案做到更加简化的高可用切换处理。

在高可用面前,时间是最好的说明,如果一个高可用方案经过了大量的时间验证,那么本身是有很高的说服力的。而对于业务来说,能够把数据库底层的依赖屏蔽掉,那么我们完全可以在工作时间完成数据库的版本升级,而对业务的影响降到最低。

以上仅仅是高可用方案的一些基本雏形,而要做到业务层的更高需求的高可用,则需要考虑机房多活的设计方案,而其中基于分布式的方案是必备的基础,今年会投入较多的精力在这个方面。

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

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

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

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

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