父文章 : java 垃圾回收总结和面试和应用_个人渣记录仅为自己搜索用的博客-CSDN博客
父文章 迁移文章 : 数据迁移不停服设计借鉴concurrentHashMap chm 和 redis 渐进式rehash_个人渣记录仅为自己搜索用的博客-CSDN博客
参考设计:
orderId里有视图列, 当整个库在迁移时. 部分orderId迁移后,将视图列里的值改成机房2.
方案1: 当操作的orderId里的视图里的机房值和机房不匹配时, 直接抛错. (不太可能,因为一个流程下来,可能存在不同的系统,不同系统的不同表的数据都在迁移) ,
方案2: 当发现是另外一个机房时,调度到另外一个机房. 数据库事务就被打破了. 确保一个事务里的数据同时迁移走. 分库分表位全域保持一致 uid粒度.
1.停每行关联的其他表的数据写. [逐行迁移的关键] 2. 迁移,改视图. 3. 开写.
当大部分都转移到另外一个机房后,耗时将变高,是否可接受?
方案3: 因为有事务的原因, 停服,然后整个库一起迁移.