引起故障的原因
导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。
导致系统不可用的原因有很多, 大的可以分为 3 个:
第一个网络安全维度的原因:
网络攻击 - 针对这块我们可以从请求的规则引擎做风险控制,常用的有 WAF 工具及 IAG 的权限;
第二个网络架构原因:
硬件故障
外部灾害
降低硬件故障/外部灾害对应用业务的影响,通常由以下几种方式 -
高可用的应用架构(不通节点部署在不通的硬件环境);
异地数据中心多活设计;
BCP 方案的设计,保证在高可用或者异地多活的状态下业务能正常进行;
第三个应用层的原因:
软件 bug
软件 bug,短时间可以修复的,第一时间回复业务,时候找 root cause,预防再发;无法修复的软件问题,我们要有应急的方案即 BCP 方案,能保证业务不受影响;
系统发布
系统发布,根据发布内容区别看待,如果是尝试性的新业务,我们可以小范围多版本发布,限制它的影响范围,对于常规的发布我们要尽可能做到发布的可追溯和可回滚;
并发压力
并发上的压力,我们可以通过缓存 Rides, 缓冲设计 MQ, 及系统弹性收缩的分布式设计解决;
评论