java如何无感知部署_干货!如何平稳用户无感知的完成系统重构升级

前言

我们在实际开发系统的过程当中,很有可能会遇到需要进行系统重构升级的情况,需要重构的原因可能是之前的设计不合理,导致现在维护起来非常的困难,也有可能是现在的业务发展非常迅速,需要进行分库分表了又或者之前用的是单机的本地的文件存储,现在需要用到统一的网络存储。总而言之,就是当初的系统设计已经不符合现在发展需要了,需要进行重构和升级。

而这其中会可能会涉及到代码逻辑的变更,数据存储的变更(如DB或者文件存储等)或者第三方接口的变更。在这样一个新旧的切换过程当中,怎么样才能让用户无感知,平稳地进行过渡?

有人说可能说可以停服,然后迁数据,迁完后切新逻辑,然而先不说会有一段不可接受的不可用时间,就说在迁移过程中,我们如何保证能一次迁移成功呢?再退一步,就算数据迁移成功了,但是如果代码逻辑有漏洞,我们又该如何快速回退到旧版本呢?这可不单单是切回旧代码就好了,要知道这段时间可能产生了新版本的数据,这些新数据可也要迁回旧版本。

重构升级系统的过程可能会遇到这么多问题,那我们有什么办法可以平稳且用户无感知地完成系统升级吗?今天就给大家提供一个通用的系统重构升级的框架。里面很多具体的逻辑得按不同系统的实际情况来,但是整体思路却是通用且可靠的。

场景模拟

我们先来模拟一个简单的场景,并看看实际情况中应该如何操作。

假设我们一开始有个users表存储学生数据,表结构以及一些数据如下:idnameage1张三18

2李四19

3王五17

后面随着业务发展,我们需要记录学生的语文成绩,然后我们在user

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值