共识算法
两个原理:FLP与CAP
FLP定理
FLP定理由Fischer、Lynch和Patterson三位作者在1985年发表。
定义:在网络可靠、存在节点失效(即使只有一个)的最小化异步模型中,不存在一个可以解决一致性问题的确定性算法。
该原理告诉人们:不要浪费时间去为异步分布式系统设计在任意场景下都能实现共识的算法,在允许节点失效的情况下,纯粹异步系统无法确保一致性在有限时间内完成。
CAP定理
CAP(Consistency, Availability, Partition tolerance) 由Eric Brewer在2000年提出,后来Lynch等人进行了证明。
定义:分布式计算系统不可能同时确保一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。