Skip to content

操作日志迁移

操作日志迁移

规划

  • [ ] tbl_operate_logmysql base 实例的 xnn_core_product_2 迁到 mongo

方案

  • [ ] 双写

​ 先上一个版本, mysql 和 mongo 双写, 先写 mysql, 再写 mongo, mongo里带 mysql 生成的自增 id

  • [ ] 同步数据, 检验数据完整性

脚本1: 将 mysql 里的数据同步到 mongo, 用 id 来检验数据是否已经写到 mongo

脚本2: 检验一段时间内数据的一致性

  • [ ] 切换DB

将读操作日志的代码切到 mongo

表结构

_id     
mysql_id                O           int         mysql里该记录的id, 全量后就不用记录这个了
op_type                 M           int     操作类型,1:新建 2:更新 3:删除 4.称重 5.取消称重 6.缺货 7.取消缺货 8.打印
create_time         M           date        创建时间
change_url          M           string  操作的url
station_id          M           string  站点id
group_id                M           int     
op_before               M           object  操作前信息
op_after                M           object  操作后信息
op_source               M           int         操作来源:1:单条操作 2:批量操作
op_id                       M           string  操作对象的id,不同的log_type对应不同的含义,eg:log_type为1,代表订单id
op_user                 M           string  操作用户    
log_type                M           int         1:order,2:sku 3:spu
search_text_1       O           string  
search_text_2       O           string
search_text_6       O           string  

indexs:
_id_
op_id_1_station_id_1
station_id_1_create_time_-1

涉及接口:

station/operate_log/create
station/operate_log/list
station/operate_log/get

时间安排:

安排 时间
双写, 测试, 灰度, 上线 4月4号~4月8号(2天)
写脚本, 测试, 验证, 开始同步线上数据 4月9号~4月12号(4天)
切代码的读接口, 测试 4月15号~4月16号(2天)
灰度, 上线 4月17号~4月18号(2天)