服务端迁移笔记

迁移准备工作

1. 数据存量迁移

  • 数据库、缓存迁移
  • 对象存储数据迁移,采用go routine并发下载和上传,70T的数据耗时约18小时

2. 数据同步机制

  • 数据库和缓存:建立原生主从同步链接
  • 对象存储:在服务端建立异步同步流程,先从现存储中寻找目标数据,如没有则出发同步机制,并签发原存储的相同对象

3. 配置迁移

  • 迁移服务端所需配置、配套服务和镜像至目标云服务器的K8S
  • 设置动态配置系统
    • 程序监听配置改动,为后续操作做准备
    • 配置变更后自动重新运行并读取

迁移执行过程

4. 服务切换

  • 通过修改配置,将服务存储指向新的存储地址
  • 遇到的问题:
    • 数据库切换时出现超时
    • 数据库同步在半小时前断开,导致大量报错
    • 解决方案:
      1. 切回原数据库
      2. 重新建立同步
      3. 记录报错期间增长的用户数据
      4. 待系统平稳后重新切换

5. 服务迁移

  • 逐步开启新地区的迁移服务
  • 关闭老地区的服务器
  • 开启新的服务
  • 在流量稳定后逐步关闭老的服务
  • 总计耗时约25天