2 高可用集群

2.1 什么是高可用性

计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可维护性(maintainability)来度量的。工程上通常用平均无故障时间(MTTF)来度量系统的可靠性,用平均维修时间(MTTR)来度量系统的可维护性。于是可用性被定义为:

MTTF/(MTTF+MTTR)*100%

业界根据可用性把计算机系统分为如下几类:

可用比例
 (Percent Availability)

年停机时间
 (downtime/year)

可用性分类

99.5

3.7

常规系统(Conventional)

99.9

8.8小时

可用系统(Available)

99.99

52.6分钟

高可用系统(Highly Available)

99.999

5.3分钟

Fault Resilient

99.9999

32

Fault Tolerant


1. 系统可用性分类

对于关键业务,停机通常是灾难性的。因为停机带来的损失也是巨大的。下面的统计数字列举了不同类型企业应用系统停机所带来的损失。

应用系统

每分钟损失(美元)

呼叫中心(Call Center)

27000

企业资源计划(ERP)系统

13000

供应链管理(SCM)系统

11000

电子商务(eCommerce)系统

10000

客户服务(Customer Service Center)系统

27000


2. 停机给企业带来的损失

随着企业越来越依赖于信息技术,由于系统停机而带来的损失也越拉越大。

2.2 高可用集群

高可用集群就是采用集群技术来实现计算机系统的高可用性。高可用集群通常有两种工作方式:

  • 容错系统:通常是主从服务器方式。从服务器检测主服务器的状态,当主服务工作正常时,从服务器并不提供服务。但是一旦主服务器失效,从服务器就开始代替主服务器向客户提供服务。

  • 负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。

关于高可用集群的讨论很多,这里就不进行深入的阐述了。