常见的容错机制+failover+failback

Posted Data+Science+Insight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见的容错机制+failover+failback相关的知识,希望对你有一定的参考价值。

常见的容错机制+failover+failback

 

什么是failover?

 

[电脑][数据库]失效备援 (为系统备援能力的一种,当系统中其中一项设备失效而无法运作时,另一项设备即可自动接手原失效系统所执行的工作。

 

Failover 失效转移

通俗地说,即当A无法为客户服务时,系统能够自动地切换,使B能够及时地顶上继续为客户提供服务,且客户感觉不到这个为他提供服务的对象已经更换。

这里的A和B可以存在于各种领域,但一般fail-over特指计算机领域的数据库、应用服务、硬件设备等的失效转移。

 

Failback 自动恢复

在簇网络系统(有两台或多台服务器互联的网络)中,由于要某台服务器进行维修,需要网络资源和服务暂时重定向到备用系统。在此之后将网络资源和服务器恢复为由原始主机提供的过程,称为自动恢复。

常见容错机制:failover ,failsafe,failfase ,failback,forking,来源于阿里的定义。

 

Failover 失败自动切换

当出现失败,重试其它服务器,通常用于读操作(推荐使用)。 重试会带来更长延迟。

Fail-Over的含义为“失效转移”,是一种备份操作模式,当主要组件异常时,其功能转移到备份组件。其要点在于有主有备,且主故障时备可启用,并设置为主。如mysql的双Master模式,当正在使用的Master出现故障时,可以拿备Master做主使用

 

Failfast  快速失败

从字面含义看就是“快速失败”,尽可能的发现系统中的错误,使系统能够按照事先设定好的错误的流程执行,对应的方式是“fault-tolerant(错误容忍)”。以JAVA集合(Collection)的快速失败为例,当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛出ConcurrentModificationException异常(发现错误执行设定好的错误的流程),产生fail-fast事件。

 

Failsafe 失败安全

Fail-Safe的含义为“失效安全”,即使在故障的情况下也不会造成伤害或者尽量减少伤害。维基百科上一个形象的例子是红绿灯的“冲突监测模块”当监测到错误或者冲突的信号时会将十字路口的红绿灯变为闪烁错误模式,而不是全部显示为绿灯。

 

Failback  失败自动恢复

在簇网络系统(有两台或多台服务器互联的网络)中,由于要某台服务器进行维修,需要网络资源和服务暂时重定向到备用系统。在此之后将网络资源和服务器恢复为由原始主机提供的过程,称为自动恢复。

 

Forking  并行调用多个服务器

只要一个成功即返回,通常用于实时性要求较高的读操作。需要浪费更多服务资源   。

Broadcast

广播调用,所有提供逐个调用,任意一台报错则错。

 

参考:Failover与Failback的区别

参考:常见容错机制:failover ,failsafe,failfase ,failback,forking

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

 

以上是关于常见的容错机制+failover+failback的主要内容,如果未能解决你的问题,请参考以下文章

Dubbo服务集群

常见容错机制:failoverfailfastfailbackfailsafe

word20161209

Spark 的 Failover 机制全解析 (Master/Worker/Executor)

Dubbo的容错与负载均衡

阿里巴巴开发规范知识概括