17.1.3.3 Fault-tolerance

MySQL 组复制构建在 Paxos 分布式算法的实现之上,以提供服务器之间的分布式协调。因此,它需要大多数服务器处于活动状态才能达到法定人数,从而做出决定。这直接影响了系统可以容忍的故障数量,而不会损害自身及其整体功能。容忍f个故障所需的服务器数量(n)为n = 2 x f + 1

实际上,这意味着要容忍一个故障,该组中必须包含三台服务器。这样一来,如果一台服务器发生故障,仍然会有两台服务器构成多数(三分之二),并使系统 continue 自动做出决定并 continue 前进。但是,如果第二台服务器非自愿地发生故障,则该组(仅剩一台服务器)将阻塞,因为没有多数可以决定。

以下是说明上述公式的小 table 格。

Group SizeMajority即时故障容忍
110
220
321
431
532
642
743

下一章介绍组复制的技术方面。