作者:中国移动云能力中心 —— 胡建华
概要:高可用设计师应用软件架构设计的最基本要求,无论一个产品处于初创阶段还是快速增长期,作为一款商业软件面向用户提供服务,那么可用性的设计是必须予以考虑的。
一、基本概念
可用性:Availability,系统可以被使用的时间的描述,即uptime,计算方式:
A = uptime/(uptime + downtime),其中uptime和downtime分别为可用/不可用时间。
我们经常形容的“几个九”,最多情况下指的就是系统可用性,当然可用性越高越好,同时越高的可用性就代表着越多的资源投入,需要根据实际业务发展的阶段进行权衡,不同级别的可用性通常采取的技术手段可参见下表:
可用性等级 |
可用性数值 |
年最大停机时间 |
常用的技术手段 |
基本可用 |
99% |
88 h |
负载均衡 |
较高可用 |
99.9% |
8.8 h |
+自动化部署 |
高级可用 |
99.99% |
53 min |
+微服务+应用监控+容错机制+弹性伸缩 |
极高可用 |
99.999% |
5 min |
+异地多活+容灾 |
二、影响系统可用性的因素
到底是什么降低了可用性?影响系统可用性的因素都有哪些?
</