漫谈软件架构设计系列(一):可用性设计

作者:中国移动云能力中心  ——  胡建华

概要:高可用设计师应用软件架构设计的最基本要求,无论一个产品处于初创阶段还是快速增长期,作为一款商业软件面向用户提供服务,那么可用性的设计是必须予以考虑的。

一、基本概念

可用性:Availability,系统可以被使用的时间的描述,即uptime,计算方式:

A = uptime/(uptime + downtime),其中uptime和downtime分别为可用/不可用时间。

       我们经常形容的“几个九”,最多情况下指的就是系统可用性,当然可用性越高越好,同时越高的可用性就代表着越多的资源投入,需要根据实际业务发展的阶段进行权衡,不同级别的可用性通常采取的技术手段可参见下表:

可用性等级

可用性数值

年最大停机时间

常用的技术手段

基本可用

99%

88 h

负载均衡

较高可用

99.9%

8.8 h

+自动化部署

高级可用

99.99%

53 min

+微服务+应用监控+容错机制+弹性伸缩

极高可用

99.999%

5 min

+异地多活+容灾

二、影响系统可用性的因素

到底是什么降低了可用性?影响系统可用性的因素都有哪些?

你可能感兴趣的:(软件开发)