写点什么

简述软件不可用性及解决办法

用户头像
跳蚤
关注
发布于: 2021 年 03 月 14 日

引起一个软件系统不可用的原因有很多,归纳起来主要是以下这几种情况:

  1. 硬件故障。

  2. 软件存在 bug.

  3. 系统发布。

  4. 高并发场景引起系统崩溃。

  5. 网格攻击/故障。

  6. 外部灾害。

针对上述情况,可以通过分布式扩展、隔离、解耦、限流、降级、熔断、自动化测试、自动化运维、灰度发布进行解决。

扩展技术主要是解决通过冗余部署,避免单点故障。

隔离技术解决避免业务之间的相互影响,机房隔离避免单点故障。

解耦解决减少依赖、减少相互之间的影响。

限流解决遇到突发流量时,保证系统稳定。

降级解决在资源有限的前提下牺牲非核心业务,保证核心业务的高可用。

熔断解决减少不稳定的外部依赖对核心服务的影响。

自动化测试解决通过完善的测试,减少发布引起的故障。

灰度发布是速度与安全性作为妥协,能够有效减少发布故障。

自动化运维解决出现故障时,通过自动化运维来进行解决,减少有效减少故障时间。

事件系统快速定位故障原因。


用户头像

跳蚤

关注

技术成就了我,我相信技术能让我飞 2020.08.06 加入

本人从事软件开发20年,系统架构7年,担任部门经理、架构部经理、技术经理

评论

发布
暂无评论
简述软件不可用性及解决办法