提高系统稳定性的三个阶段

2024-09-19 09:49:34 浏览数 (3)

前言

在软件开发过程中,系统稳定性非常重要,良好的系统稳定性不仅能够提高开发效率,还能减少维护成本,提升用户体验。

我认为,提升系统稳定性有三个阶段:监控、排查和代码质量。

第一阶段:做好监控

监控是一切的基础。如果没有有效的监控机制,我们就无法及时发现系统中的问题,进而无法采取有效的措施来解决这些问题。在这个阶段,我们需要建立全面的监控系统,能够对系统的各个层面进行实时的监控。

监控的核心要点

  1. 实时告警

监控系统应当能够实时检测到异常情况,并及时发送告警通知。这样,我们可以在问题初现时就采取措施,而不是等到问题扩散后才发现。

  1. 全面覆盖

监控应该覆盖系统的各个方面,包括网关层面、接口层面(主调、被调、属性)、机器层面等等

  1. 历史数据分析

通过分析历史监控数据,我们可以识别系统的性能瓶颈和潜在的风险,从而进行预防性维护。例如内存泄漏等

第二阶段:提升排查效率

即使有了完善的监控系统,问题依然会发生,但此时发生的问题我们应该有自信这不是大面积故障,而是用户个例,从而能够从容淡定的去排查和解决。此时,我们需要的是快速排查问题,确保在最短的时间内定位并解决问题。

提升排查效率的方法

  1. 远程日志

目前我们大部分的服务都是本地日志,排查问题需要登录到各个机器上手动筛选,两台机器则需要登录并筛选两次,可是如果后面是20台、200台机器呢,难道我们也要一个一个登录并敲入筛选命令吗?

远程日志是我们的帮手,我们可以将日志上报到日志平台,目前使用的是阿里云的sls,原则上,使用远程日志有以下需要注意的点:

  • 一次用户请求只上报一条日志,避免混乱
  • 日志完整且简短,尽量一条日志就足以定位问题,且不要懒惰,上报大量无效的信息,应该只有关键的信息
  1. 自动化工具

流程确定且可以自动化的一定要自动化,解放我们自己的人力,例如操作记录、机器人自动查询回复等等

第三阶段:提升代码质量

监控和排查效率只是手段,最终的目标是提升代码质量,从根本上减少问题的发生。在这个阶段,我们需要从多个方面入手提升代码质量。

提升代码质量的措施

  1. 代码审查

每次commit、mr进行代码审查(Code Review),确保代码符合规范,逻辑清晰,无明显漏洞。代码必须经过cr可以合并到master

  1. 单元测试

编写全面的单元测试,确保每个模块都能独立运行并通过测试。

后续会预研单元覆盖率的自动检查,覆盖率不达标不得合并到master

  1. 规范化

平时开发需要遵守代码规范

发布需要遵守

总结

提升软件系统稳定性是一个持续的过程,需要我们从监控、排查和代码质量提升三个方面入手。只有在这三个阶段都做到位,才能真正提升系统的稳定性和可靠性。

1 人点赞