服务重构,系统的先前版本是php代码,系统的新版本已更改为Java。
数据层遵循服务先前版本的数据库结构,并更改库中的某些字段。
最终目标:更新不会降低启用切换,切换数据实现(从旧库到新库)的服务的性能,以最大程度地减少对用户的影响。
实施:添加日志
以下详细介绍您自己的实施计划。可能会有一些泄漏以供参考。
如何添加注册
第一步
用户执行的新的,修改的和删除的操作将记录在日志文件中,而old_db不会写入新数据。
记录的格式与更改的库,更改的表,更改的字段等保持统一。
确保记录统一性,并促进与记录同步服务的数据同步。
步骤二
开发syn-data-service数据同步服务,以将来自先前库的数据与新库同步。
第三步
数据同步后,为无法临时写入的数据设置新服务(记录非常快速地同步,以牺牲用户体验为代价)。
我们还将开发一个记录同步工具syn-log-service,以使记录与新库同步。
4,步骤4
开发比较服务以进行数据验证。
5,步骤5
如果数据没有问题,则更改为new-db允许用户添加,修改和删除对注册表和new_db的重复写入。
6,步骤6
底层策略:如果发现数据存在较大的不一致或大量的数据丢失,则可以通过注册表写回old_db并将服务更改为old_server。
一般步骤如上所示,可能会有一些冲突。为了完全的数据同步一致性,这只是用户体验的短期牺牲。
步骤6是需要添加的步骤。我必须考虑采取一切措施的策略。这也是我最经历的经历。
为不太信任依赖项的呼叫者创建计划。
