CAP定理

2022-04-26
2345

CAP

一、CAP定理

C:一致性C代表更新操作成功后,所有节点在同一时间的数据保持完全一致。

A:可以性A代表用户访问数据的时候,系统是否能在正常响应时间返回预期的结果。

P:分区容错性P代表分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性或可用性的服务。

CAP定理在系统的实际开发和使用中不可能同时都满足的。

CAP的原理图如下:

使用场景,作为分布式系统,因为每个模块都在不同的系统中,之间通过网络进行数据等的传递。

如在同一个电商系统,分为了两个系统,分别为订单系统和库存系统,当用户下单的时候,首先,会先创建一个订单,然后去减少库存系统中的商品库存,因为两个系统运行在不同的服务器下,中间又由网络连接,会出现数据一致性的问题。主要解决方案我们可以参考CAP定理根据实际的需求来解决。

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

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

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