30.3.6. 数据复制的限制:脑裂处理
当实时服务器及其备份同时处于活动状态时,会发生"脑裂"情况。两个服务器都可以提供客户端和进程消息,而其他人不知道它。在这种情况下,实时和备份服务器之间不再有任何消息复制。如果这两个服务器之间进行网络故障,则会出现分割情况。
例如,如果实时服务器和网络路由器之间的连接中断,备份服务器将丢失与实时服务器的连接。但是,备份仍可以连接到集群中超过一半的服务器,因此它变为活跃状态。请记住,如果只有一个实时备份对,并且备份服务器丢失与实时服务器的连接,则备份也会激活。当两个服务器都在集群中处于活跃状态时,可能会发生两个不合预期的情况:
- 远程客户端故障转移到备份服务器,但 MDB 等本地客户端将使用实时服务器。两个节点都有完全不同的日志,从而导致脑裂处理。
- 在远程客户端切换到备份服务器后,与 live 服务器的连接已被修复。当旧客户端继续使用备份时,任何新客户端都将连接到实时服务器,这也会导致脑裂情景。
客户应在每对实时和备份服务器之间实施可靠的网络,以减少使用数据复制时脑裂处理的风险。例如,使用重复的网络接口卡和其他网络冗余。