如何提高系统的稳定性?
- 2人以上的需求或项目,必须制定主要负责人,负责整体系统的设计、代码把控,内外部的协调,把整体流程串起来,不只是每个人只做自己的部分;
- 在需求评审之前,相关人把prd通读,把问题提前记录,前置与产品沟通,切记不要prd还没看就评审,导致评审过程中发现不了问题,到了研发阶段或者上线了才意识到大问题;
- 需求拆解,避免项目或需求过于庞大,尽量以一周开发完成,两周上线的节奏进行;
- 技术方案设计之前先跟主负责人、组长沟通大致思路,方案出来之后先内部(找主负责人或组长)过一遍,确保没有大问题再去设计方案评审;
- 遵循编码、设计规范,保持统一,减少个性定制的逻辑,减少临时性代码,尽量统一、通用;
- 系统架构设计具备一定的前瞻性,朝令夕改,不兼容又要大改,引发新问题;
- 前端页面做好兼容、托底、组件解耦,避免一环出现问题影响另一环;
- 前端提供后给后端调用场景、方式、频次,后端做好接口评估,避免调用量时对后端造成过多压力;
- 不仅仅只关注黄金流程的业务与入口,非黄金的也要关注,不起眼的小功能也可能摧毁整个系统;
- 业务领域划分不清、调用混乱,前期因为业务方快速上线使用简单、临时方案,前期架构没有设计好,这些都是不稳定因素,尽量做好;
- 移交测试前,影响范围评估梳理清楚;
- 数据隔离,预发和线上数据一定程度上做隔离,比如缓存,很容易出现在预发测试时覆盖生产的数据;
- 健全的测试环境,现在都是直接上预发,操作有误非常危险;
- 上线流程规范,提前写上线步骤,交叉检查;
- 需求、设计方案变更邮件周知,确保上下游知晓变更;
- 多问一句为什么,考虑业务价值,避免无用功;
- 监控报警加全、加完整,做好值班,重视线上问题,有问题及时修复;
- 各自负责业务,每天都要访问,主动发现问题;
- 重构、迭代是个持续的过程,稳定是长期经验的积累。