跳至主要內容
重构方法论:接手陌生SpringBoot系统的完整策略

重构方法论:接手陌生SpringBoot系统的完整策略

重构不是"重写",而是"在理解的基础上有策略地改造"。本文第一部分讲通用重构方法论,第二部分聚焦如何接手一个完全陌生的 SpringBoot + Web 系统,从摸底、计划到选型、落地,给出可执行的完整路径。


第一部分:重构方法论

核心理念:重构不是推倒重来

重构和重写是两件事。重写是说"原来的代码不行,我重新写一遍";重构是说"原来的代码能工作,但结构不好,我改善它"。

大多数团队把重构搞成了重写,结果花三个月重写,再花三个月修bug,最后发现新系统的问题和旧系统一样多——只是换了种形式。


郑天祺大约 13 分钟产品与协作重构SpringBoot系统设计方法论
可靠性和容错技术
为了提高计算机系统的可靠性,人们通过长期的研究总结出了两种技术:避错技术和容错技术。

一、避免技术

避错技术试图构造一个不包含故障的完美系统,其手段是采用精确的设计和质量控制方法尽量避免把故障引入系统。避错系统对元器件的制造工艺、精确的阈值有很高的要求。实际上做到这点是不可能的,因此避错技术对系统的可靠性的提高受到很大的限制。

二、容错技术

容错是指当出现某些指定的硬件故障或软件故障时,系统仍能执行规定的一组程序,或者说程序不会因为系统故障而中止或被修改,并且执行结果也不包含系统故障引起的差错。容错的思想是在系统体系结构上精心设计,利用外加资源的冗余技术掩蔽故障带来的影响,从而自动恢复系统或达到安全停机的目的。

所以我们重点研究容错技术:

容错的目标是降低或者最小化故障对系统可用性、可靠性、安全性、持续性等得影响。

容错按系统级别划分,分为三个级别,硬件容错、软件容错以及系统容错。硬件容错常用的方法包括使用冗余、多备份技术、增加内存、能源系统冗余等。硬件错误通常能够够在两个物理机上进行隔离处理。软件容错主要是正对软件的鲁棒性特征进行增强。常见的方法有checkpoint/restart,recovery blocks,N-Version Programs等。对于系统容错,设计一个独立与目标系统的子系统,通过定义定义规则来容忍系统缺陷。对缺陷的处理,有以下几类技术:

郑天祺大约 2 分钟可信可靠性容错技术系统设计