软件系统稳定的策略

记录一些最近发生的系统问题,以及制定的解决策略。

场景1

关键同事请假,开发工作和运维工作无法正常运行。

问题:项目和人的耦合度太高。

策略:从业务入手,加强团队培训,设立A/B角色。

场景2

慢SQL堆积,点击一个页面查询,直接把系统拖垮。

问题:缺少SQL审查环节,系统没有进行隔离。

策略:增加SQL审核机制,主业务系统和数控报表系统进行隔离,报表系统的查询,不影响正常的业务调度。

场景3

A工程师觉得a中间件好,引入到项目,B工程师也引入他觉得好的中间件。

问题:中间件混乱,实现同样功能的类似中间件重复引入,增加了维护的“黑匣子”。

策略:中间件标准化,让指定部门(如基础架构部门)负责中间件的引入,同时也增加适用于所有人的中间件引入流程规范。

时间的力量

场景4

系统不扛压,稍微有些数据,服务器资源占用直线上升。

问题:程序员素养需要提升,提高时间复杂度和空间复杂度的技术培训。

策略:在上线环节中增加压测节点,边技术培训边通过压测结果驱动系统往一个指定的性能指标看齐。

场景5

系统不稳定,发版本总有会有些小问题。

问题:代码质量考虑不周全,而工业对软件的稳定要求极高。

策略:增加测试环节,把稳定的、公用的板块进行抽离(如与设备打交道的板块),增加代码review机制。

场景6

客户反馈挂了,我们才知道系统挂了。

问题:业务是否正常提供服务,监控不及时。

策略:增加系统的物理主备和应用服务报警监测。

结语

以上是最近遇到常见场景及策略总结,最重要的还是按照策略去执行


软件系统稳定的策略
https://www.lianbian.net/架构/f4d10d285dea.html
作者
连边
发布于
2023年12月3日
许可协议