MySQL中间件集群平滑迁移的初步方案

yumo6664个月前 (03-28)技术文章40

最近有一套MySQL集群环境的服务器即将过保,为了避免后续带来的一些额外问题,需要提前考虑服务器的迁移计划,但是现在的线上业务,申请维护时间是比较困难的,而且在线变更的容忍时间是很短暂的,一般在业务层也有容错机制,比如超时时间,容错次数等,所以希望整个方案是可控并且变更时间对于业务侧是清晰的。


整个集群的迁移计划是按照1:1的模式进行服务器对等替换,也就意味着原来有30个服务器,要对等30个服务器来进行平移,按照之前的实践来看,整体的迁移时间基本控制字5秒以内。

集群的整体部署架构如下,连接层使用了基于Consul的负载均衡机制,数据分片节点使用了一主一从的模式。



在迁移中,因为从库默认是不接入业务的,所以相应的从库的替换可以平滑实现,即用新的服务器顶上去成为新的从库,如果可以保证IP不变,整体的拓扑结构是没有任何变化的。

接下来,考虑的是要新增一个数据从库节点,这个节点是基于新的从库节点进行的级联复制,整体结构如下:

在迁移前,需要对已有的中间件进行缩容,先能够逐步减少为1个中间件节点,这个过程可以使用备用连接池技术实现,也可以主动触发应用重连机制实现。

在切换的过程中,可以把原本的Consul模式降级为基于IP的模式,中间件P1连接的数据分片节点会在切换中可以先映射为S1-S4,这个过程简单理解就是重启中间件节点P1,在重启的过程中会逐步释放M1-M4上面的连接,为了保证数据的一致性,需要配置M1-S1,M2-S2,M3-S3,M4-S4之间的数据双向复制。


切换完成后就成为简单的一主一从的拓扑结构,整体来说还是比较好理解的,这样就整合到了新的服务器组中。


增加中间件节点,并且开启Consul服务,这样业务就又恢复成为和之前对等的使用模式。



当然整个过程中都是最简化的步骤,在每个步骤中都需要有严谨的思考和验证。

相关文章

数据库迁移有什么技巧?|分享强大的database迁移和同步工具

概述DBConvert Studio 是一款强大的跨数据库迁移和同步软件,可在不同数据库格式之间转换数据库结构和数据。它将成熟、稳定、久经考验的 DBConvert 和 DBSync 核心与改进的现代...

记一次,mysql数据库迁移到新的磁盘(业务停止的场景下)

描述:(1) 主从数据库,主库(1台)+从库(1台)(2) 将mysql数据库目录移动到新挂载的目录下/data2(3) 在新挂载目录/data2/下创建log目录:作为mysql-bin日志文件存放...

MySQL 导出数据

MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上。使用 SELECT ... INTO OUTFILE 语句导出数据以下实例中我们将数据表 w3csch...

MySQL数据导入Mysqlimport

大家好,我是RomMr,一个乐于分享的it男,今天和大家分享的是Mysqlimport详解1、mysqlimport命令导入数据:举例代码:mysqlimport -uuser_name -ppas...

Windows下MySQL8.0数据库文件路径修改和数据转移

什么情况需要修改MySQL数据文件路径?MySql在安装之初,默认的安装位置与数据保存位置都是在C盘,时间久了,C盘就会爆满,因此需要修改MySql数据保存位置。本例从C盘转移到D盘。操作步骤:1、...

详解MySQL|一招实现从Oracle到MySQL的平滑数据迁移-爱可生

本文目录:一、OGG概述(一)OGG逻辑架构二、迁移方案(一)环境信息(二)表结构迁移(三)数据迁移1.源端OGG配置(1)Oracle数据库配置(2)Oracle数据库OGG用户创建(3)源端OGG...