CAP理论

CAP理论指出,在分布式系统中,不能同时保证一致性、可用性和分区容忍性。CA组合牺牲分区容忍性以保证一致性和可用性,如关系型数据库;CP组合放弃可用性以确保一致性和分区容忍性,如Zookeeper;而AP组合则在分区容忍性和可用性间妥协,放弃强一致性,实现最终一致性。大多数分布式系统会选择AP策略。
摘要由CSDN通过智能技术生成

什么是CAP理论

CAP理论,指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性),不能同时成立。

 CAP理论

1、一致性(Consistency):一致性是指写操作后的读操作可以读到最新的数据状态,当数据分布在多个节点上,从任意结点读取到的数据都是最新的状态。

2、可用性(Availability):可用性是指任何事务操作都可以得到响应的结果并且不会出现响应超时或者响应错误的情况发生。

3、分区容忍性(Partition tolerance):
通常分布式系统的各个结点部署在不同的子网上,不可避免的会出现由于网络问题而导致结点之间通信失败,此时仍可以对外提供服务,这叫做分区容忍性。(基本能力)

 CAP的组合方式

在所有的分布式事务场景中不会同时具备CAP三个特性,因为在具备了P的前提下C和A是不能共存的。
分区容忍的含义:
(1)主数据库通过网络向从数据库同步数据,可以认为主从数据库部署在不同的分区上,通过网络进行交互。
(2)当主数据库和从数据库之间的网络出现问题不影响主数据库和从数据库对外提供服务。
(3)其一个节点挂掉不影响另—个节点对外提供服务。
如果要实现C则必须保证数据一致性,在数据同步的时候为防止向从数据库查询的不一致则需要从数据库锁定,待完成同步之后解锁,如果同步失败从数据库要返回错误信息或超时信息。

 

1.CA组合
CA组合就是保证一致性和可用性,放弃分区容忍性,即不进行分区,不考虑由于网络不通或节点挂掉的问题。那么系统将不是一个标准的分布式系统,我们最常用的关系型数据库就满足了CA。
2.CP组合
CP组合就是保证一致性和分区容忍性,放弃可用性。Zookerper就是追求强一致性,放弃了可用性,还有跨行转账,一次转账请求要等待双方银行系统都完成整个事务才能完成。
3.AP组合
AP组合就是保证可用性和分区容忍性,放弃一致性。这是分布式系统设计时的选择。


小结


通过上面我们学习了CAP的基础理论知识,CAP是一个已经证实的理论:一个分布式系统做多只能满足CAP中的两项,为达到良好的响应性能来提高用户体验,因此一般会做出如下选择:保证A和P,舍弃C强─致性,保证最终━致性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值