Week_11 作业
导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。
导致系统故障的原因如下:
硬件故障
软件 bug
系统发布
并发压力
网络攻击
外部灾害
保证系统稳定高可用方案:
解耦:软件层面设计不合理,通过重构的方式使系统解耦,保障服务的可用性
隔离:业务进行隔离,资源进行隔离,防止相互影响,导致问题扩大,产生雪崩效应
异步:事件驱动模型,提升系统响应速度,防止系统在短时间内阻塞大量请求,导致资源耗尽
备份:保障数据安全,服务高可用,当故障发生时,能有备用服务和数据可用
Failover(失效转移):略
幂等:服务调用需要幂等,让服务无状态
事务补偿:略
重试:应对网络闪断
熔断:防止在错误发生情况下,造成对后续服务过大的压力
限流:保证系统稳定,防止达到系统处理极限而down机
降级:停掉部分非核心服务,使核心服务可用
异地多活:灾备,保证系统高可用
评论