有人曾用医学术语对关键业务应用服务器方案进行过一个类比,把双机冗余方案比作器官移植,而把容错方案比喻为生来就有两套器官。由于存在“排异反应”,因此器官移植很有可能没有办法发挥两套器官的作用。
双机系统和容错方案都是用于解决通用类型错误(Common Mode Error),为企业关键业务应用提供稳定、可靠的系统。但从效果来看,两者的差异还是比较大的。就如同存在“排异反应”,双机切换不能够保障次次成功,其公认的可靠性只有99.99%,也就是4个9的水平。从技术上看,双机方案侧重点在于恢复,强调突发故障情况下的系统恢复。与之相比,容错方案强调的是系统不中断,需要保持业务连续性。
对于双机方案而言,如果恢复时间为0,也就是平滑无缝切换,也可以达到不停顿的效果。但在很多情况下,双机都做不到无缝切换。就像至今没有办法彻底消除“排异反应”一样,双机系统的平滑无缝切换也仅仅是在演示环境中,实际情况下很难实现。原因在于,处理器正在处理的数据、内存中驻留的重要数据以及I/O中等待写入/出的数据,这些数据在突然故障的情况下都会丢失,如此必然会导致系统中断,形成不完整的交易纪录。对此,虽然系统具有相应的保证机制,通过数据回滚等技术确保交易安全,不会危害到诸如储户信息的安全。但回滚,系统重建都需要时间,因此更本没有办法确保系统不中断。
图:双机方案与容错方案对比
与双机方案不同,在容错方案的设计上没有单一故障点,涉及计算和处理的每一个步骤,在每一个时钟周期都是同步的,也就是被称为“锁步LockStep”的技术。系统在每个时钟周期都对进行结果比对,计算结果一致进行下一步,不一致则需要发回重新计算。但系统发生故障时,除非两个系统相同功能部件同时发生故障,否则系统不会中断,这种情况下,系统失去锁步,进入单一系统工作状态;待故障部件更换后,系统恢复锁步状态。失去锁步时,系统的可靠性较低,但仍然可以保障工作状态。
容错系统内置有内置故障监测和隔离的功能,可以自动发出告警,如果用户购买了“可用主动式可用性管理的监控管理服务”,就可以享受7×24小时的联机监管,随时处理故障部件,确保系统处于容错工作状态。
较之双机系统,容错具有更高的可靠性和安全性的等级,其可靠性级别可以达到99.999%,是真正的5个9的水平。