常见的四种容错机制:Fail-Over、Fail-Fast、Fail-Back、Fail-Safe

目录

1、Fail-Over:故障转移

Fail-Over 意思是“故障转移,失效切换”,是一种备份操作模式,主要思路是:

主要组件出现异常时,将其功能转移到具有同样功能的备份组件。

要点在于有主有备,且主发生故障时,可将备切换为主。比如 HDFS 的双 NameNode,当 Active NameNode 出现故障时,可以启用 Standby NameNode 来继续提供服务。

2、Fail-Fast:快速失败

就是“快速失败”,尽可能早地发现系统中的错误,使系统能够按照事先设定好的错误流程执行,对应的方式是“fault-tolerant(错误容忍)”。

以 Java 集合(Collection)的快速失败为例,当多个线程同时操作同一个集合中的元素时,就可能发生 Fail-Fast 事件。

具体示例:当线程 A 通过迭代器遍历某集合的时候,其他线程刚好修改了该集合中的元素(比如添加、删除),这个时候,线程 A 在继续访问集合时,就会抛出 ConcurrentModificationException 异常,产生Fail-Fast 事件。
这里的并发修改异常,就是 发现错误时执行设定好的错误

3、Fail-Back:失效自动恢复

Fail-Back,就是在故障转移(Fail-Over)之后,发生故障的服务/机器 能够自动恢复。

比如:在簇网络系统(两台或多台服务器互联的网络)中,如果要对某台服务器进行维修,需要把服务(或网络资源)暂时重定向到备用系统。

维修结束后,再将服务(或网络资源)恢复为 由原来维修的主机提供 的过程,称为自动恢复。

4、Fail-Safe:失效安全

失效安全,即使在故障的情况下,也不会对系统造成伤害或尽量减少伤害。

比如:红绿灯 - Traffic light 中,对红绿灯的“冲突监测”的示例:

如果冲突监控器检测到错误或冲突的信号时,交通信号灯将进入闪烁模式。
该信号可能会向主要道路显示呈琥珀色闪烁,向人行道路呈红色闪烁,或在所有方向上呈红色闪烁,也可以在交通不畅的白天(例如深夜)使用闪光操作 —— 而不是全部显示为绿灯。

参考资料

常见容错机制:failover、failfast、failback、failsafe


版权声明

本文系转载,并在原文的基础上做了一定的补充和修改。如有侵权,请原作者联系博主,定当立即删除。

上一篇:洛谷 P2888 [USACO07NOV]牛栏Cow Hurdles


下一篇:【602】语义分割评价指标 mIoU 的计算