本文主要是介绍什么是CAP理论和BASE思想?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
CAP定理
分布式系统的三个指标:
C(一致性)
A(可用性)
P(分区容错性)
Eric Brewer说,分布式系统无法同时满足CAP三个指标,这个结论就叫做CAP定理。
Consitency
用户访问分布式系统中的任意节点,得到的数据必须是一致的
Availability
用户访问分布式系统时,读或写操作总能成功;只能读不能写,或只能写不能读,或两者都不能执行,说明系统弱可用或不可用。
Partition tolerance(一定会有的):
Partition(分区):因为网络故障或其他原因导致分布式系统中的部分节点与其他节点失去连接,形成独立分区。
Tolerance(容错):系统要能容忍网络分区现象,出现分区时,整个系统也要持续对外提供服务
分析
如下图:
要保证一致性:出现了网络分区,node3无法和node1和node2同步,如果现在去写数据就会出现有的节点改了有的节点没有改的情况,所以要保证一致性,就只允许读,不允许写,满足所有节点一致性,但是牺牲了可用性,符合CP。
要保证可用性:此时允许任意读写,满足了可用性,但由于node3无法同步,导致数据不一致,牺牲了一致性,符合AP。
BASE理论
BASE理论是对CAP的一种解决思路,保护三个思想:
其实就是C和A取了一个中间。
在分布式事务中解决方案中的应用
这篇关于什么是CAP理论和BASE思想?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!