父文章 传统部分业务机房迁移_个人渣记录仅为自己搜索用的博客-CSDN博客
系统都是进化出来的,不要过度设计.
一开始设计支付表. 有代金券id,代金券抵扣金额.
业务进化后后面有多种优惠,业务水平拆分为两种业务.
支付业务.优惠维护业务.
一个订单: 表1:乘客支付金额和乘客抵扣金额表.
表2: 订单id, 优惠类型,优惠金额,优惠id.
落地方案1: 代码需要兼容老版本: 查询代金券id,需要先查新表,后查原表.
数据同步后,删除老字段.. 这样就能做到不停服上线.
落地方案2: 或者通过细粒度的控制. 设置一个临时字段,代表该orderId是否迁移,默认非. 新增的都主动设置.迁移的时候也去主动设置. 这样能做到无缝迁移. 且不需要读两次,只能读到一次.但需要去读下redis.