服务端迁移笔记
迁移准备工作
1. 数据存量迁移
- 数据库、缓存迁移
- 对象存储数据迁移,采用go routine并发下载和上传,70T的数据耗时约18小时
2. 数据同步机制
- 数据库和缓存:建立原生主从同步链接
- 对象存储:在服务端建立异步同步流程,先从现存储中寻找目标数据,如没有则出发同步机制,并签发原存储的相同对象
3. 配置迁移
- 迁移服务端所需配置、配套服务和镜像至目标云服务器的K8S
- 设置动态配置系统
- 程序监听配置改动,为后续操作做准备
- 配置变更后自动重新运行并读取
迁移执行过程
4. 服务切换
- 通过修改配置,将服务存储指向新的存储地址
- 遇到的问题:
- 数据库切换时出现超时
- 数据库同步在半小时前断开,导致大量报错
- 解决方案:
- 切回原数据库
- 重新建立同步
- 记录报错期间增长的用户数据
- 待系统平稳后重新切换
5. 服务迁移
- 逐步开启新地区的迁移服务
- 关闭老地区的服务器
- 开启新的服务
- 在流量稳定后逐步关闭老的服务
- 总计耗时约25天