1、定义

CAP定理(CAPtheorem),又被称作布鲁尔定理(Eric Brewer) , 1998年第一次提出。

浅谈分布式系统开发技术中的CAP定理

最初提出是指分布式数据存储不可能同时提供以下三种保证中的两种以上:

一致性(Consistency):每次读取收到的信息是最新的。

可用性(Availability):每个请求都会收到(非错误)响应。

分区容错(Partition tolerance):尽管节点之间的网络不通导致分区,系统仍继续运行。

2、CAB定理实践

2.1 CP强一致性

![在这里插入图片描述](img-blog.csdnimg.cn/9a6b87afa53… =400×400)

定义

实现一致性和分区容错性,此组合为数据强一致性模式,即要求多服务之间数据一定要一致,牺牲了可用性。在一些对数据一致性要求高的场景进行使用,比如跟钱相关的。

实现强一致性的中间件有zookeeper.

2.2 AP高可用性

![在这里插入图片描述](img-blog.csdnimg.cn/faec6c83c1f… =400×400)

定义

满足可用性性和分区容错性,通常对数据一致性要求不高。在出现故障的情况下,只要不是所有节点都挂掉,那么集群还是可以正常工作。

实现高可用性的中间件有Eureka,在spring cloud中作为注册中心经常出现。