首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
30 篇文章
1
迁移到MySQL的业务架构演进实战
2
如何优化MySQL千万级大表,我写了6000字的解读
3
MySQL中的SQL优化建议那么多,该如何有的放矢
4
说几点关于数据库的见解
5
迁移至MySQL的数据流转流程优化
6
引入TiDB方案的一些思考
7
MySQL数据克隆的用户权限设计
8
MySQL逻辑数据恢复体系的设计
9
MySQL随机恢复的设计思路
10
从Oracle到MySQL,金融核心场景在线换库落地实战
11
基于Maxwell的MySQL数据传输服务整体设计
12
MySQL数据库升级的一些坑
13
数据架构选型必读:4月数据库产品技术解析
14
基于数据库中间件配置的几类问题
15
关于中间件服务的配置管理,分为5个阶段
16
MySQL中10多张表关联要做优化,怎么理解逻辑幂等
17
关于MySQL拓扑关系的梳理
18
对于新技术栈落地和架构思维的建议
19
MyCAT让人诟病的配置文件,说说破局的思路
20
MySQL多活数据消费服务设计方案
21
数据双向复制中的6个数据冲突场景和解决思路
22
MySQL双主模式下是如何避免数据回环冲突的
23
一个MySQL服务CPU 100%的优化案例反思
24
MySQL表添加了一个字段,竟然导致数据无法写入,反思
25
MySQL周期表管理太繁琐,通过Python自定义工具方法优雅解决
26
MySQL业务双活的初步设计方案
27
数据库修改密码风险高,如何保证业务持续,这几种密码双活方案可以参考
28
一道经典的MySQL面试题,答案出现三次反转
29
​业务双活的数据切换思路设计(下)
30
基于Consul的MySQL高可用服务,健康检查怎么做?这里有一个完整脚本

​业务双活的数据切换思路设计(下)

这是学习笔记的第 2132 篇文章

前几天写了一篇关于业务双活的数据切换思路设计,我今天把下半部分补充一下。

业务双活的数据切换思路设计(上)

首先整个业务的上游是流量入口,分为读流量和写流量,整体是分布式设计。

在完成数据迁移,数据同步之后,目前的流量是在“已有数据服务”侧,如果要实现服务的平滑迁移,我们可以按照这个流程来进行设计。

首先关闭两个数据服务间的数据旁路,类似下面的图。

为了描述更加清晰,我们把读流量和写流量都标识出来,方便区分理解。

所以上面步骤可以用下图来进行细化表示。

接下里我们需要把写流量逐步切换到“数据服务-new”上面,类似于下面的形式,这个时候写流量其实是写入两个数据服务中了。

当然在流量切换的过程中,势必会有一部分写流量没有完全同步过去,我们可以基于“已有数据服务”进行增量数据校正,这是一个底层的数据处理操作,而这个过程“数据服务-new”因为还没有对业务开放,这个过程是没有业务影响的。

我们接下来把读流量逐步切换过去,切换完成就是如下图所示的情况了,读写流量都切换到了新的数据服务中。

而“已有数据服务”的写流量照样是写入,这样就达到了一种“理想”的双写状态。

这个过程中可以自由进行数据流量的切换,如果发现“数据服务-new”的部分逻辑存在异常,我们可以直接把读流量切换原来的“已有数据服务”即可,然后在底层进行数据修复,满足情况之后,继续上面的步骤把流量切换过来。

这样一来,我们就可以顺利完成数据业务的整体迁移过程,在这个过程中会和开发团队进行密切的配合,迁移的很多工作不单单是DBA来处理,也需要业务的深度接入和配合,这样一来业务的稳定性和健壮性都有一定的保证。

下一篇
举报
领券