三分钟理解CAP理论

Posted Paxos

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三分钟理解CAP理论相关的知识,希望对你有一定的参考价值。

“在不可靠的分布式系统中,不可能同时满足安全性和活性。”


01


不可能结论


《Impossibility of distributed consensus with one faulty process》

这是分布式系统领域”三巨头“ M. J. Fischer,N. A. Lynch,与 M. S. Paterson 在1985年发布的论文,论文标题即结论。

我给大家翻译翻译,什么叫不可能:

在分布式系统中,只要有一个进程失效,就不可能达成一致“

或者说

在不可靠的分布式系统中,不可能同时满足安全性和活性“


02


一致性协议

问题:有一堆进程想要对某个公有的变量进行初始化,每个进程都想初始化为自己的值。

一致性协议就是来解决这个问题的。一致性协议必须满足三点:

      一致:所有的进程对某个值达成一致


      合法:达成一致的值肯定是某个进程的值(不是凭空出现的值)


      终止:最终变量肯定会被初始化(不可能运行无限时间)


03


CP 还是 AP ?


Consistency,一致性。响应总是正确的。

Availability,可用性。请求总会有响应。

Partition tolerance,分区容错性。这是分布式系统的一种状态,服务之间的通信不可靠。

服务提供者之间没有交互的,不在 CAP 的讨论之列。

安全性:坏的事情一定不会发生。一致性是一种安全性。

活性:好的事情总会发生。可用性是一种活性。

正是由于前面的不可能结论( FLP impossibility),CP 与 AP 只能选择其一!



以上是关于三分钟理解CAP理论的主要内容,如果未能解决你的问题,请参考以下文章

三分钟分布式CAP理论

CAP理论的学习和理解

NoSQL 与 CAP 理论

10分钟了解分布式CAPBASE理论

10分钟了解分布式CAPBASE理论

轻松理解CAP理论