22 重构系统升级-实现不停服的数据迁移和用户切量

专栏的前 21 讲,从读、写以及扣减的角度介绍了三种特点各异的微服务的构建技巧,最后从微服务的共性问题出发,介绍了这些共性问题的应对技巧。

在实际工作中,你就可以参考本专栏介绍的技巧构建新的微服务,架构一个具备“三高”能力的后台服务。同时,也可以利用所学的技巧对已有的微服务进行系统升级重构,从而解决历史遗留问题。

升级重构是后台架构演化增强的一个利器,本讲将为你详细讲解如何落地对用户无感知、低 Bug 的升级重构方案。

重构常见的形式

升级重构有两种常见的形式,一种是纯代码式的升级,另外一种是包含存储和代码的升级。

纯代码的重构升级是指只针对代码中存在的一些历史遗留问题进行修复,比如代码中的慢 SQL、错误的日志打印方式、代码中未显式开启事务等问题。

注:在本讲,将存在问题的历史版本称为V1 版;修复问题后的升级重构版本称为 V2 版。纯代码的重构升级架构如下图1所示:

图 1:纯代码的升级重构对比图

包含存储和代码的重构升级是指在上述纯代码之外,将原有架构里的存储也一起升级。存储升级有两种形式。

第一种是将存储类型进行升级,比如将数据库升级为缓存,将原有的读接口从数据库切换至缓存。做此类存储类型升级的目的是提升微服务的性能,我们在模块二中曾介绍,同样的硬件配置下,缓存比数据库至少快一个量级。不同类型的存储升级架构如下图 2 所示:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周壮

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值