欧易OKX矿池接入教程
什么是FLP 不可能原理以及同步与异步的概念?
2022.02.28
什么是 FLP 不可能原理?
FLP 不可能原理是由 Fischer、Lynch 和 Patterson 三位科学家于 1985 年提出,该 FLP 名称就以三位科学家的姓名首字母命名的。
FLP 大概意思就是说在网络可靠,但允许节点失效(即便只有一个)的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性共识算法。
什么是同步?
所谓同步,就是在发出一个调用时,在没有得到结果之前,该调用就不返回,但是一旦调用返回,就得到返回值了。
什么是异步?
所谓异步,调用在发出之后,这个调用就直接返回了,所以没有返回结果,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在_调用_发出后,_被调用者_通过状态、通知来通知调用者,或通过回调函数处理这个调用。
总结一下:
现实中的系统往往都是异步系统,因为系统中各个节点之间的延时,是否宕机等等都是不确定的,那么,在最小化异步模型系统中,不存在一个可以解决一致性问题的确定性算法,这就是 FLP 不可能理论。
FLP 不可能理论,揭露了在异步通信场景中,没有任何算法能保证达到一致性,这个结论虽然看起来很简单,但是却给科技界上了深刻的一课,它告诉我们,不要浪费时间,去试图为异步分布式系统设计面向任意场景的共识算法。