欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-04 08:39:35
介绍常见的四种容错机制: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 中,对红绿灯的“冲突监测”的示例:

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

参考资料


版权声明

感谢阅读,公众号 「瘦风的南墙」 ,手机端阅读更佳,还有其他福利和心得输出,欢迎扫码关注