0%

数据库迁移

并发场景下,读请求会先查缓存,缓存未命中则会去DB取数据并更新到缓存中(可能会出现穿透情况),更新缓存可能会失败导致缓存和DB不一致。对于写请求,缓存和DB的操作不在一个事务中,可能只有一个操作成功而另一个操作失败,从而导致数据不一致。

一、基础

  1. 选用工具
    • 服务工具
      • Dbmate
      • Ladder
      • Phinx
      • Flyway
      • TiDB
    • 自建工具
  2. 提前演练
    • 测试服
    • 边缘数据
  3. 做好整体计划
    • 停服维护
    • 备用方案
    • 白名单
    • 可中断
    • 可回退
  4. 屏蔽监控告警
  5. 全面测试
    • 可对比
    • 兼容性
    • 完整性
  6. 有迹可循,执行日志
  7. 循序渐进,可分批次分业务分逻辑组
  8. 总结迁移带来的经验
  9. 做好下次迁移的准备

二、实战

三、参考