如何保证服务的高可用性 HA(High Availability)?
高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。方法论上,高可用是通过冗余+自动故障转移来实现的。
我们都知道,单点是系统高可用的大敌,单点往往是系统高可用最大的风险和敌人,应该尽量在系统设计的过程中避免单点。
方法论上,高可用保证的原则是“集群化”,或者叫“冗余”:只有一个单点,挂了服务会受影响;如果有冗余备份,挂了还有其他backup能够顶上。
保证系统高可用,架构设计的核心准则是:冗余。有了冗余之后,还不够,每次出现故障需要人工介入恢复势必会增加系统的不可服务实践。所以,又往往是通过“自动故障转移”来实现系统的高可用。

互联网架构中,通常是通过冗余+自动故障转移来保证系统的高可用特性。

本文介绍了如何保证服务的高可用性HA,包括系统设计原则、分层架构实践和数据库高可用策略。通过冗余、自动故障转移和监控等手段,确保从客户端到数据库层的每一个层级都能实现高可用。SLA是服务等级协议,衡量服务的可用性,更多的9代表更少的停机时间。文章还探讨了如何定义SLI和服务等级目标SLO,以及亚马逊S3的服务水平协议。
订阅专栏 解锁全文
1万+





