三分钟理解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理论的主要内容,如果未能解决你的问题,请参考以下文章