分库分表后如何实现不停机扩容
实际上,不停机扩容,实操起来是个非常麻烦而且很有风险的操作,当然,面试回答起来就简单很多。
- 第一阶段:在线双写,查询走老库
-
- 建立好新的库表结构,数据写入老库的同时,也写入拆分的新库
- 数据迁移,使用数据迁移程序,将旧库中的历史数据迁移到新库
- 使用定时任务,新旧库的数据对比,把差异补齐
第一阶段
- 第二阶段:在线双写,查询走新库
-
- 完成了历史数据的同步和校验
- 把对数据的读切换到新库
第二阶段
- 第三阶段:旧库下线
-
- 旧库不再写入新的数据
- 经过一段时间,确定旧库没有请求之后,就可以下线老库
第三阶段