并发场景下,读请求会先查缓存,缓存未命中则会去DB取数据并更新到缓存中(可能会出现穿透情况),更新缓存可能会失败导致缓存和DB不一致。对于写请求,缓存和DB的操作不在一个事务中,可能只有一个操作成功而另一个操作失败,从而导致数据不一致。
一、基础
- 选用工具
- 服务工具
- Dbmate
- Ladder
- Phinx
- Flyway
- TiDB
- 自建工具
- 服务工具
- 提前演练
- 测试服
- 边缘数据
- 做好整体计划
- 停服维护
- 备用方案
- 白名单
- 可中断
- 可回退
- 屏蔽监控告警
- 全面测试
- 可对比
- 兼容性
- 完整性
- 有迹可循,执行日志
- 循序渐进,可分批次分业务分逻辑组
- 总结迁移带来的经验
- 做好下次迁移的准备