02 April 2024

IMG-THUMBNAIL

大型项目保证自己不背锅的有效办法。

现在系统架构大多采用分层的形式web->handler->service->dao->model 每次调用都是从前到后发起,每一层沉淀必要的代码能力,当有新需求迭代某个模块即可,无需重新大规模开发。 但经常也会有一些问题发生,一单这些代码不够solid,出现了一些劣化问题,就会使得整个项目迭代难度、稳定性保障难度变大。尤其是每层表现均不够稳定、分层不够清晰的时候,改造难度会更大。这次我面临的就是底层模型的调整,这样上面几层多少也会受影响,改造工作量非常大。 解决这个问题,有两个思路:

  1. 每一层收敛新老模型兼容逻辑
  2. 从web到model重新开发,做代码隔离

前者看起来技术含量高,后者反而显得很low,但是我推荐隔离的方式。 大的系统改造,一定要确保上线后遇到任何问题都有兜底的处理办法。一但上线后系统有异常,会有非常多的数据清洗、系统止损工作,而方式1每一层的梳理兼容工作,会把整个项目的难度提升多个数量级,一但有一个点没梳理到,将会面临不可预期的问题,另外,回归的挑战也非常大。而方式2,恰恰可以做到对主干流程侵入降到最低,甚至可以做降级、灰度开关,一点一点放量控制影响面。


原文链接:代码隔离大法,转载请注明来源!

EOF