Architecture 故障转移:针对软件错误或硬件错误,还是同时针对两者?

Architecture 故障转移:针对软件错误或硬件错误,还是同时针对两者?,architecture,failover,redundancy,Architecture,Failover,Redundancy,我正在设计一个系统,在这个系统中,我将让程序以标称/冗余模式运行,一个在一台机器上,一个在另一台机器上。如果标称程序失败(故障转移事件),冗余程序应接管并假定操作为新的标称进程。这对用户来说应该是透明的 我的问题是:当发生故障转移时,这是否仅仅是因为硬件故障?或者软件错误是否足以触发故障转移 更一般地说,是否有一个行业标准来决定应该导致故障转移的原因,或者这是由系统架构师/设计师决定的?从集群的角度来看,这些类型的错误没有任何区别。问题是,您不能依赖失败节点的任何“我正在失败”事件 集群(在您的

我正在设计一个系统,在这个系统中,我将让程序以标称/冗余模式运行,一个在一台机器上,一个在另一台机器上。如果标称程序失败(故障转移事件),冗余程序应接管并假定操作为新的标称进程。这对用户来说应该是透明的

我的问题是:当发生故障转移时,这是否仅仅是因为硬件故障?或者软件错误是否足以触发故障转移


更一般地说,是否有一个行业标准来决定应该导致故障转移的原因,或者这是由系统架构师/设计师决定的?

从集群的角度来看,这些类型的错误没有任何区别。问题是,您不能依赖失败节点的任何“我正在失败”事件

集群(在您的例子中是“冗余”角色)只是发现一个节点没有发送心跳信号(没有响应ping)。然后,“冗余”使自己成为“主”,并开始处理传入的请求。我想就这些