系统稳定性与高可用保障
一、前言 高并发、高可用、高性能被称为互联网三高架构,这三者都是工程师和架构师在系统架构设计中必须考虑的因素之一。今天我们就来聊一聊三H中的高可用,也是我们常说的系统稳定性。 > 本篇文章只聊思路,没有太多的深入细节。阅读全文大概需要5~10分钟。 二、高可用的定义 业界常用 N 个 9 来量化一个系统可用性程度,可以直接映射到网站正常运行时间的百分比上。 可用性的计算公式: 大部分公司的要求是4个9,也就是年度宕机时长不能超过53分钟,实际要达到这个目标还是非常困难的,需要各个子模块相互配合。 要想提升一个系统的可用性,首先需要知道影响系统稳定性的因素有哪些。 三、影响稳定性的因素 首先我们先梳理一下影响系统稳定性的一些常见的问题场景,大致可分为三类: 人为因素 不合理的变更、外部攻击等等 软件因素 代码bug、设计漏洞、GC问题、线程池异常、上下游异常 硬件因素 网络故障、机器故障等 下面就是对症下药,首先是故障前的预防,其次是故障后的快速恢复能力,下面我们就聊聊几种常见的解决思路。 四、提升稳定性的几种思路 4.1 系统拆分 拆分不是以减少不可用时间为目的,而是以减少故障影...
