可用性设计
蒲公英
# 设计原则
高可用性通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。
计算机系统的可用性用平均无故障时间(MTTF)来度量,即计算机系统平均能够正常运行多长时间,才发生一次故障。系统的可用性越高,平均无故障时间越长。可维护性用平均维修时间(MTTR)来度量,即系统发生故障后维修和重新恢复正常运行平均花费的时间。系统的可维护性越好,平均维修时间越短。计算机系统的可用性定义为:MTTF/(MTTF+MTTR) * 100%。由此可见,计算机系统的可用性定义为系统保持正常运行时间的百分比。
设计系统的可用性,最重要的是满足用户的需求。系统的失败只有当其导致服务的失效性足以影响到系统用户的需求时才会影响其可用性的指标。用户的敏感性决定于系统提供的应用。例如,在一个能在 1 秒钟之内被修复的失败在一些联机事务处理系统中并不会被感知到,但如果是对于一个实时的科学计算应用系统,则是不可被接受的。
系统的高可用性设计决定于应用。例如,如果几个小时的计划停机时间是可接受的,也许存储系统就不用设计为磁盘可热插拔的。反之,你可能就应该采用可热插拔、热交换和镜像的磁盘系统。所以涉及高可用系统需要考虑:
- 决定业务中断的持续时间。根据公式计算出的衡量 HA 的指标,可以得到一段时间内可以中断的时间。但可能很大量的短时间中断是可以忍受的,而少量长时间的中断却是不可忍受的。
- 当出现业务中断时,尽快恢复的手段。