概述
高可用(High Availability),简称HA,是衡量IT系统服务质量的一个极其重要的参考,高可用一直是IT系统设计中需要重点关注的点。本文总结高可用架构中的一些关键设计思想。
衡量指标SLA
SLA是衡量网站服务可用性的一个关键指标,现在互联网公司一般以X个9来表示在系统1年时间的使用过程中,系统可正常使用时间与总时间(1年)之比,9越多代表全年服务可用时间越长、服务更可靠、停机时间越短,反之亦然。
一般而言,如果系统达到4个9就非常优秀了,需要在设计上做足功夫。
冗余
冗余是构建高可用的重要手段。其核心思想是对分布式系统中的节点进行备份。备份会分为冷备和热备。
-
冷备,一般会有主数据中心和备数据中心,正常情况下是主数据中心提供业务服务,备份中心不会有提供业务服务,而是会定期从主数据中心进行备份(非实时备份),也就是说如果主数据中心出现故障,业务也就中断了,需要人工进行干预,将流量从主数据中心切换到备数据中心。
-
热备,主要是对主数据中心进行实时性的备份,以保证在主数据中心出现故障后可以及时的切换,让用户不受影响的继续使用。 关于主数据中心到备数据中心的复制方式,分为同步和异步两种分式。
- 同步方式,当主节点处理完请求后,会同步向多个备节点实时备份数据,只有所有节点数据同步完成,主节点才会向客户端返回成功。这种方式对可用性有较大损耗,一般不推荐使用,
- 异步方式,当主节点处理请求后,会向客户端返回