架构师训练营第十一周作业
导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。
系统不可用原因:
硬件故障,如服务器硬盘故障、内存故障等;
程序bug,软件系统程序存在严重bug导致系统异常;
网络故障,如机房网络故障、运营商网络故障等;
系统升级,迭代升级中因数据或系统接口兼容性问题导致异常;
系统被攻击,如DDOS攻击会导致带宽打满、非法的大流量请求会压垮系统;
高并发,秒杀活动带来高并发的访问,如系统设计不合理则很容易会因高并发流量导致整个系统奔溃;
高可用方案:
高内聚、低耦合,合理的系统设计让程序更健壮;
分布式、集群部署,防止单点故障;
完善监控体系;
隔离,线程池隔离、微服务隔离、消息队列隔离;
熔断降级,异常达到临界值后自动熔断,为保护核心业务服务可及时熔断一些非核心业务;
异步,服务执行异步化、不阻塞主线程,提供系统性能;
缓存,通过本地缓存、分布式缓存等提升系统性能,减轻对数据库压力;
备份,如数据库主从防止防止数据丢失、提高数据库读取性能;
限流,保护系统、防止大流量压垮系统;
评论