架构 2 期 - 第十一周作业(1)
导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。
导致系统不可用的原因有
硬件原因,主要是指基础硬件故障,如服务器的 CPU、硬盘、内存、网络等故障等
软件原因,主要是指软件的 Bug,并发故障,安全漏洞,部署发布过程中的问题等
其他外部原因,主要是一些不可抗力导致的故障,如光缆中断、供电问题或者政策审查等
保障系统稳定高可用的方案有哪些?
主要从架构、运维和监控三个方面来考虑,有如下方案:
高可用设计,采用 DDD、面向对象等方法,进行系统组件的低耦合、高内聚设计,降低系统复杂度。
分层与隔离,系统设计时分好层次,并做好层与层之间的接口隔离,防止故障传播。
服务器集群,采用集群方式降低服务器异常风险。
备份与恢复,需要有比较完善的备份方案,定时自动备份+人工核实验证的方式保证备份的正确性。
异地多活,为了防止发生机房类大范围故障,使用异地多活手段规避。
负载均衡,通过软件或者硬件负载方式,提升整体可用性。
评论