定理内容
FLP不可能定理是分布式系统理论中最基础、最重要,同时也是最著名的定理之一。它是由 Fischer, Lynch 和 Paterson 于 1985 年在著名的论文 《Impossibility of Distributed Consensus with One Faulty Process》 提出。
这篇论文证明一个重要结论:
在完全异步的模型下,即使只允许一个进程失败,也没有任何算法能够保证达成共识。
启示
在FLP定理之前,我们还不知道能不能设计出在完全异步模型下既能容错,又能在有限时间内达成共识的完美算法。FLP定理的出现给这一争论画上了句号。
它警示我们:不要再浪费时间,试图设计一个既能容错,又适用于任何场景的分布式共识算法。
但是我们没有必要感到绝望,因为很多东西都是鱼与熊掌不可兼得,想要实现工程上的可用性我们就必须要舍弃某些东西。
毕竟科学通常关注绝对正确,而工程则关注于相对可用。科学上不可能,但工程上如果算法的可用性足够高,例如达到99.999%,实际上也是可以接受的。