CAP定理

2021/9/25 6:42:44

本文主要是介绍CAP定理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、CAP定理
C:一致性C代表更新操作成功后,所有节点在同一时间的数据完全一致。
A:可以性A代表用户访问数据的时候,系统是否能在正常响应时间返回预期的结果。
P:分区容错性P代表分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性或可用性的服务

CAP定理在系统中不可能同时都满足的。

在这里插入图片描述
使用场景,作为分布式系统,因为每个模块都在不同的系统中,之间通过网络传递。
在这里插入图片描述
如同一个电商系统,分为了两个系统,分别为订单系统和库存系统,当用户下单的时候,首先先创建一个订单,然后去减少库存系统中的商品库存,因为两个系统运行在不同的服务器下,中间又由网络连接,会出现数据一致性的问题。主要解决方案我们可以参考CAP定理根据实际的需求来解决。

CP(强一致性):CP表现为订单创建成功后,一直处于等待的状态,库存减少成功后才会返回结果。缺点用户体验比较差,如果没有处理成功就会一直处于等待的状态,优点可以保证数据的强一致性。

AP:AP表现为订单创建成功后,不等待库存减少直接返回处理结果。保证可用性,牺牲掉了数据的一致性,这里减库存的操作是通过异步的方式进行的,所以基于AP的模式,我们创建订单成功后就会直接返回结果,而不会在乎库存是否减少成功,这里产生最大的问题就是可能会导致数据的不一致性。

AC:表现为不拆为数据系统,在一个数据库的一个事务中完成所有的操作,这个就是单体应用的提现



这篇关于CAP定理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程