我正在设计一个系统,我将在名义/冗余模式下运行程序,一个在一台机器上,另一台在另一台机器上。如果标称程序失败(故障转移事件),冗余程序应接管并将操作作为新的标称过程。这对用户来说应该是透明的。
我的问题是:当故障转移发生时,这是否应该仅仅是因为硬件故障?或者,软件错误是否足以导致触发故障转移?
更广泛地说,是否有一个行业标准来决定应该导致故障转移的原因,或者这取决于系统架构师/设计师?
发布于 2013-06-25 03:36:19
从集群的角度来看,这些类型的错误没有任何区别。问题是,您不能依赖来自故障节点的任何“我失败了”事件。
集群(在您的例子中是“冗余”角色)只是发现节点没有发送心跳(没有响应ping)。然后"Redundant“使自己成为"master”并开始处理传入的请求。我想,这就是全部。
https://stackoverflow.com/questions/17276840
复制相似问题